# 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
☐ ANONYOMISE
☐ README

☐ 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) @cancelled(21-05-10 18:22)
    ✘ Czech (Mikdore) @cancelled(21-05-10 18:22)
    → 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-05-10 18:22)
        ✘ Czech @cancelled(21-05-10 18:22)
    → Optimise! n-ary tree

☐ Game networking
    ✔ Figure out game reconnection procedure @done(21-05-10 18:22)
        ✘ Perhaps players skip a turn if they disconnect on their turn @cancelled(21-05-10 18:22)
        ✘ Game should go on until 1 person remains @cancelled(21-05-10 18:22)
    → Game chat

☐ Game logic
    ✔ Game creation @done(21-04-26 17:38)
    → Multiplayer game logic
        → Process turns
        ✔ Display turns on client @done(21-05-09 22:45)
            → Server returns everything new to do with the game
    ✘ 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 @done(21-05-09 22:44)
        ✔ Update dynamically @done(21-05-09 22:44)

☐ Code
    ✘ Refactor to code portsoc eslint @cancelled(21-05-10 18:22)
    ✘ Refactor game client @cancelled(21-05-10 18:22)
    → WHY THE HELL ARE THEY CALLED USERS IN SOME PLACES AND PLAYERS IN OTHERS
    → Why in some places is it user.name and others user.username
    → Should lobbies persist once game starts?

☐ Bugfixes
    ✔ If a user leaves their current game then makes a new one, it's corrupted @done(21-05-10 17:56)
    → If a user disconnects during a game, the game is irrevokably corrupted
        → Usually, if a player leaves, it's fine, but if the host leaves. The lobbby is destructed and the logic creates a new game on the spot and they're the only player
