Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Listudy is a application for chess training.



If you find any bugs, please let me know. You can submit bugs here:


Help with translations if you can. You find the current translations here. If you want to help with a language that is not currently avaliable message me or create a issue and I will create the language.

This project used gettext for translations. Gettext uses PO files for translations (example). In these files the original english sentence or phrase msgid is above what the translation should be msgstr. Only edit msgstr in the PO files. Sometimes special sequences like %{name} are in the english text. These must be copied exactly (not translated) into the translation.


Listudy is developed in Elixir using the phoenix framework. It uses postgresql as database. You can checkout scripts/prod/*.sh for how the server is run in production.

To generate opening svg images Python3.8 is used together with python-chess. This should be optional.

To start the server:

  • You need to install Elixir, install npm, and PostgreSQL. The DB user and password for Postgres should be 'postgres' (no quotes).
  • Setup the project with mix setup
  • Install npm dependencies with npm install --prefix assets. For Windows, you need to run cd assets then npm install then cd ...
  • Make study pgn directory with mkdir priv/static/study_pgn
  • Opening svg directory with mkdir priv/static/images/opening
  • Create database with mix ecto.create, migrate databse with mix ecto.migrate, fill database with seed dataset mix run priv/repo/seeds.exs
  • Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000 from your browser.