A modern, real-time multiplayer chess game built with Node.js, Express, Socket.IO, React, and chess.js.
- ♟️ Real-time multiplayer chess with Socket.IO
- 🎯 Complete chess rules including castling, en passant, and promotion
- 👤 User authentication with Better Auth
- 📊 Leaderboards and player statistics
- 🧩 Daily chess puzzles
- 💬 Real-time chat functionality
- 🎨 Modern UI with Tailwind CSS v4 and Framer Motion
- 📱 Responsive design for all devices
- Node.js (v14+)
- PostgreSQL
- Redis
- pnpm (recommended) or npm
# Clone the repository
git clone https://github.com/yourusername/chess.git
cd chess
# Backend setup
cd backend
pnpm install
cp .env.example .env
# Edit .env with your configuration
pnpm db:push
pnpm dev
# Frontend setup (in a new terminal)
cd frontend
pnpm install
cp .env.example .env
# Edit .env with your configuration
pnpm dev- Features - Complete list of features
- Tech Stack - Technologies used
- Project Structure - Codebase organization
- Setup Guide - Installation and configuration
- API Documentation - REST and WebSocket API reference
- Scripts - Available npm/pnpm scripts
- Node.js & Express
- Socket.IO for real-time communication
- Drizzle ORM with PostgreSQL
- Redis for caching
- Better Auth for authentication
- React 19 with TypeScript
- Vite for fast development
- Zustand for state management
- Tailwind CSS v4
- Framer Motion for animations
chess/
├── backend/ # Node.js + Express + Socket.IO
├── frontend/ # React + Vite + TypeScript
├── docs/ # Documentation
└── README.md # This file
- Start the backend server (runs on
http://localhost:3000) - Start the frontend (runs on
http://localhost:5173) - Create an account or log in
- Create a game or join an existing one
- Play chess in real-time!
pnpm dev # Start development server
pnpm build # Build for production
pnpm db:generate # Generate database migrations
pnpm db:push # Push schema to databasepnpm dev # Start development server
pnpm build # Build for production
pnpm preview # Preview production buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- chess.js - Chess logic library
- Socket.IO - Real-time communication
- Drizzle ORM - TypeScript ORM
- Better Auth - Authentication library
For questions or support, please open an issue on GitHub.
Happy Chess Playing! ♟️