A simple real-time multiplayer chess app built with React, Node.js, and Socket.IO. This project supports real-time communication between two players in the same match — no backend database, no lobby, just pure chess.
Two players can play in real-time with synchronized moves and resign detection.
-
Real-time multiplayer with Socket.IO
-
Simple username + game code join system
-
Turn-based logic and board sync
-
Game over on resignation
-
Fully responsive interface
Note: Requires Node.js version 18. You can use nvm to manage multiple Node versions.
- Start the Server
cd chess-serverSide
npm install
npm audit fix --force
npm start
The server will run on port 5000.
- Start the Client
Open a second terminal and run:
cd chess-clientSide
npm install --force
npm audit fix --force
npm start
The client will be available at http://localhost:3000.
To simulate both players, open two browser tabs with the same address.
-
Frontend: React, Chess.js, Socket.IO Client
-
Backend: Node.js, Express, Socket.IO
This project is open source and available under the MIT License.
-
Add timers for each player
-
Implement game replay feature
-
Add lobby system
-
Implement chat between players



