- Need a nicer user interface to choose between games.
- For games like
Codenames
consider toggling betweenteams
instead of toggling betweenplayers
and set "player activity" based on that. (Be mindful ofroles
though.) - Need a clean way for people to choose their team.
- Need a way to restart a
Codenames
game. - Codes cannot be given that include the name of a card.
- Make sure code is clean (relatively) on backend/frontend and fleshed out before moving onto a new game implementation.
- Prevent abuse of game resets.
- Consider a better system for initializing a deck. The deck/deck manifest/deck schematic/generateCardVals system feels slightly covoluted. It also complicates testing.
- If this gets done, improve the tests on the deck.
- Improve/Test/Modularize the current
server/index.ts
(especially web sockets). - Add a way to delete lobbies when all players have left the lobby.
-
Codenames.handleAction
needs to safely handle situations when it isn't given all the inputs. (Even consider invalid inputs?) - Maybe consider handling invalid message types in the WebSocket server.
- Update Jest config to exclude the root application files (
src/main.ts
andserver/index.ts
). - Consider adding more
type
s/interface
s to clarify message types and data values increateWebSocketServer
. - Consider handling error cases in
createWebSocketServer
. Are you going to assume that all the data comes through in the correct way? Or are you going to validate every single message that comes through, returning any errors? Or are you simply going to use try/catch blocks to handle situations where people send invalid data? Whatever happens, you should consider an error handling option. - If
lobby.addPlayer
ever starts getting used, it needs to avoid adding duplicate players.- You may want to consider removing
lobby.addPlayer
altogether. It may not be fully practical or safe.
- You may want to consider removing
- Investigate the webpack-dev-middleware warning that's happening right now. This is likely a Vue-related issue. (Our React app didn't have this problem.)
- Consider moving
CodenamesCard.reveal
method to theCodenames
component. That might make more sense since it's where the physical game is. - Need to correct the
tsconfig.json
file at some point. - Consider giving each individual game their own start/reset buttons... Is it worth it with the redundant logic?