Full-stack Multiplayer Chess Web App
Budget: ₹1,500 – ₹12,500 INR
ChessMaster — Full Project Description
ChessMaster is a full-stack multiplayer chess web application built with Node.js, Express, MongoDB, and Socket.io. It supports offline, bot, and live online matches with real-time gameplay, user authentication, and game history tracking.
Tech Stack
Backend: Node.js, Express.js, Socket.io
Database: MongoDB with Mongoose
Frontend: EJS templating, Tailwind CSS, vanilla JavaScript
Chess Engine: chess.js (game logic), Stockfish (bot AI via Web Worker)
Auth: express-session, connect-mongo, connect-flash
Features
Authentication & Profiles
User registration and login with session-based authentication
Profile setup with username, full name, country, bio, and date of birth
Separate ratings for Rapid, Blitz, and Bullet time controls
Friend request system between users
Game Modes
Local 2-Player — two players on the same device with full clock support
vs Bot — 32 Stockfish-powered bots ranging from 100 to 3200 rating, selectable from a grid UI
Online Multiplayer — real-time 1v1 matches via Socket.io with live matchmaking
Chess Board
Drag and drop + click-to-move support
Legal move highlighting with dot indicators
Last move highlighting
King in check highlighted in red
Board flip for black player
6 customizable board themes (Classic, Midnight, Forest, Ocean, Ruby, Walnut)
Full move history panel with SAN notation
Time Controls
Bullet (1+0, 1+1, 2+1)
Blitz (3+0, 3+2, 5+0)
Rapid (10+0, 10+5, 15+10)
Increment support per move
Low time warning (red clock under 10 seconds)
Time-out detection with winner declaration
Online Multiplayer
Socket.io based real-time matchmaking
Players matched only with same time control selected
Board flips correctly for black player
Move sync between both clients in real time
Game position preserved on page refresh via sessionStorage
Timer preserved on page refresh
Opponent disconnect detection
Game over modal with result
Game History & Replay
All completed games saved to MongoDB
Full move-by-move replay viewer
Leaderboard showing recent 20 games
Game stats including time mode, total moves, winner, and players
Settings
Board theme selection saved per user to database
Theme applied globally across all game modes
ChessMaster is a full-stack multiplayer chess web application built with Node.js, Express, MongoDB, and Socket.io. It supports offline, bot, and live online matches with real-time gameplay, user authentication, and game history tracking.
Tech Stack
Backend: Node.js, Express.js, Socket.io
Database: MongoDB with Mongoose
Frontend: EJS templating, Tailwind CSS, vanilla JavaScript
Chess Engine: chess.js (game logic), Stockfish (bot AI via Web Worker)
Auth: express-session, connect-mongo, connect-flash
Features
Authentication & Profiles
User registration and login with session-based authentication
Profile setup with username, full name, country, bio, and date of birth
Separate ratings for Rapid, Blitz, and Bullet time controls
Friend request system between users
Game Modes
Local 2-Player — two players on the same device with full clock support
vs Bot — 32 Stockfish-powered bots ranging from 100 to 3200 rating, selectable from a grid UI
Online Multiplayer — real-time 1v1 matches via Socket.io with live matchmaking
Chess Board
Drag and drop + click-to-move support
Legal move highlighting with dot indicators
Last move highlighting
King in check highlighted in red
Board flip for black player
6 customizable board themes (Classic, Midnight, Forest, Ocean, Ruby, Walnut)
Full move history panel with SAN notation
Time Controls
Bullet (1+0, 1+1, 2+1)
Blitz (3+0, 3+2, 5+0)
Rapid (10+0, 10+5, 15+10)
Increment support per move
Low time warning (red clock under 10 seconds)
Time-out detection with winner declaration
Online Multiplayer
Socket.io based real-time matchmaking
Players matched only with same time control selected
Board flips correctly for black player
Move sync between both clients in real time
Game position preserved on page refresh via sessionStorage
Timer preserved on page refresh
Opponent disconnect detection
Game over modal with result
Game History & Replay
All completed games saved to MongoDB
Full move-by-move replay viewer
Leaderboard showing recent 20 games
Game stats including time mode, total moves, winner, and players
Settings
Board theme selection saved per user to database
Theme applied globally across all game modes