AyoubBenziza
|
29faa18731
|
feat(server,web): first real-time cycle — room create/join + lobby
Server (@nerdware/server):
- RoomManager: in-memory rooms (Map), code generation, create/join,
disconnect handling, public snapshot projection (no secrets)
- Socket.IO handlers: room:create / room:join with typed acks,
room:state broadcast on every change, lobby:updateSettings (host-only),
player:left on disconnect
Web (web):
- typed Socket.IO client + Zustand store mirroring room:state
- wouter routing: home (create/join) + minimal lobby (live player list)
- @nerdware/shared wired into the client
Roadmap V1 step 2. Verified end-to-end (create/join/broadcast/disconnect).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-08 15:16:26 +02:00 |
|
AyoubBenziza
|
56115b5a9f
|
feat(shared,server): scaffold @nerdware/shared types + Fastify/Socket.IO server
- packages/shared (@nerdware/shared): domain model (Room, Player, Settings,
Round, votes, scores) + fully typed Socket.IO events, consumed as source
- apps/server (@nerdware/server): Fastify boot + /health, typed Socket.IO
attached to the HTTP server, env config, graceful shutdown
- gitignore: allow .env.example to be committed
Roadmap V1 step 1. Room logic (room:create/join) comes next.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-08 14:55:52 +02:00 |
|