How dziarnowskij/individualproject works
This is a browser-based, two-player card game inspired by Schotten Totten, with Phaser scenes on the client and Socket.IO room/game coordination on the server. Players choose or join a room, receive cards, place cards into zones, and the server evaluates formations and broadcasts turns, dealt cards, and marker outcomes. The graph includes formation evaluation and the client’s UI and interaction layers. Server and client excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: SocketHandler.js Socket handler · index.js Phaser entry · game.js Game scene · server.js Socket server
Components 17
Client game
- Phaser entry
client/src/index.js - Room selection
client/src/scenes/intro.js - Game scene
client/src/scenes/game.js - Game over scene
client/src/scenes/gameOver.js - Room error scene
client/src/scenes/roomError.js - Card interaction
client/src/helpers/InteractivityHandler.js - Game UI
client/src/helpers/UIHandler.js - Client drop zones
client/src/helpers/ZoneHandler.js - Deck handling
client/src/helpers/DeckHandler.js - Card rendering
client/src/helpers/cards/Card.js - Socket handler
client/src/helpers/SocketHandler.js - Card assets
client/src/assets/cardDeck
Server game
- Socket server
server/server.js - Room state
server/helpers/Room.js
Game rules
- Zone evaluation
server/helpers/DropZoneHandler.js - Formation rules
server/helpers/FormationHandler.js
Other components
- Player
Connections 21
- Player → Room selection: chooses room
- Phaser entry → Room selection: registers scene
- Phaser entry → Game scene: registers scene
- Phaser entry → Game over scene: registers scene
- Phaser entry → Room error scene: registers scene
- Room selection → Game scene: starts with room
- Game scene → Socket handler: sets up connection
- Game scene → Game UI: builds interface
- Game UI → Client drop zones: renders zones
- Player → Card interaction: plays cards
- Card interaction → Socket handler: emits game events
- Socket handler → Socket server: sends events
- Socket server → Socket handler: broadcasts updates
- Socket server → Room state: creates and queries
- Room state → Socket server: returns zone claims
- Zone evaluation → Formation rules: evaluates formations
- Deck handling → Card rendering: creates cards
- Card rendering → Card assets: uses artwork
- Socket handler → Deck handling: deals card updates
- Socket handler → Game over scene: signals game outcome
- Socket handler → Room error scene: signals room error