# Long term
☐ Add support for sharding / load balancing with Nginx
☐ Use a database lol

☐ Lobby discovery system to find and join "public" lobbies
    → Matchmaking


# Short term, coursework scope
☐ Translate
    ✔ Portuagese (Ines) @done(21-04-11 01:03)
        → Update with new locales   
    ✔ Spanish (Ines) @done(21-04-11 01:03)
        → Update with new locales   
    → French (Alexendro)
    → Czech (Mikdore)
    → Go through code again once finished and pick out locales

☐ Lobbying logic
    ✔ Create, join, delete and leave lobbies @done(21-04-12 20:51)
    ✔ Sort out how intents work in game transitioning @done(21-04-12 21:09)
    ✘ Make lobbies publically discoverable on a list @cancelled(21-05-07 20:11)

☐ Dictionary
    → Find appropriate scrabble dictionary for
        ✔ Portuagese @done(21-04-19 02:10)
        ✔ Spanish @done(21-04-19 02:10)
        ✔ French @done(21-04-19 02:10)
        → Czech
    → Optimise! n-ary tree

☐ Game networking
    → Figure out game reconnection procedure
        → Perhaps players skip a turn if they disconnect on their turn
        → Game should go on until 1 person remains
    → Game chat

☐ Game logic
    ✔ Game creation @done(21-04-26 17:38)
    → Multiplayer game logic
        → Process turns
        → Display turns on client
    ✘ Singleplayer game logic - OUT OF SCOPE @cancelled(21-04-11 01:04)
    ✘ AI CPU player @cancelled(21-04-11 01:07)

☐ Client
    → Display multiplayer game info
        → Update dynamically

☐ Code
    → Refactor to code portsoc eslint
    → Refactor game client
    → WHY THE HELL ARE THEY CALLED USERS IN SOME PLACES AND PLAYERS IN OTHERS

☐ Bugfixes
    → If a user disconnects during a game, the game is irrevokably corrupted


