NodeJs + Socket.io based muliplayer real-time game rooms with a ReactJs frontend.
- Game room creation with unique session code (configurable no. of players per room).
- Every player can simultaneously join multiple rooms.
- Every player can join game and ready oneself (two independent player states).
- Only admin (creator) of the game room can start game after all players have joined and are ready.
- Every player can submit gameplay input in real time (not turn-based).
- Well-defined extensible Game and Player models.
- Decoupled components: Client/UI, API server, Socket event listeners, Game engine with in-memory DB.
- User (player) creation is done on client-side and persisted in browser's local storage.
- The server only validates if player.id is null or not (minimal player auth/validation).