A simple real-time chess app.
- Open the app in the browser.
- Start a new game.
- The server pairs two players.
- One player becomes White and the other becomes Black.
- Players make moves on the board.
- The server checks if each move is valid.
- The other player sees the move right away.
- The move history can be saved later by the worker.
- apps/web - the chess website
- apps/native - the WebSocket game server
- apps/history-worker - background worker for move history
- packages/db - database schema and queries
- packages/types - shared TypeScript types
- packages/ui - shared UI components


