I got three development days in since the last update and actually made some meaningful progress.
My biggest conquest was figuring out how to translate the front end. If you go there you will see a language switcher next to the login button. Changing that translates all the visible text! Magic! (Note that the authentication stuff won’t work because the back-end server is only online while I’m working on it.)
A translation workflow will be documented on the wiki when that time comes so people can help with the translation. The more the merrier!
Translation for the text generated by the games themselves and the back-end server is a different beast and will be tackled a little later on.
I figured out the code necessary to execute the various periodic tasks the system needs (ticking clocks, calculating ratings, etc.). This was harder than it sounds because of the Python virtual environments and object-relational mapping code for database access, but it’s working. One script down, at least a dozen more to go eventually.
Ithaka is the only game currently implemented. I will code no more until the complete workflow (from game creation, to completion, to archiving) is functional for this one game. Then I will start to plug in new games. This is no easy feat, let me tell you! There is so very much involved.
I’m starting to slowly flesh out the core navigation and spent a lot of time tweaking SQL tables, ORM objects, and JSON schemas. This is tedious and mostly invisible work, but it’s essential to making things work in a sustainable, maintainable, and consistent way.
Let me take this moment to remind you of the other documentation currently available:
If you want to see the actual code, visit our GitHub page (also linked from the left sidebar of this blog). I am no pro, by any stretch, so I warmly welcome any suggestions, feedback, or pull requests.
The wiki (also linked in the sidebar) is where all the plain text documentation currently lives, including information on how the API will be structured, schemas, and ideas for later development.
If you have any questions, never hesitate to reach out. Slowly but surely!