A real-time multiplayer chess application built with modern web technologies. Play chess against opponents worldwide with live game updates, authentication, and a beautiful user interface
Chessables is a full-stack chess application that enables real-time multiplayer chess games. The application features Google OAuth authentication, WebSocket-based real-time gameplay, PostgreSQL database for game persistence, and a modern React frontend with drag-and-drop chess board interactions.
- Google OAuth authentication with Passport.js
- RESTful API for user management and game settings
- Session management with JWT tokens
- Prisma ORM with PostgreSQL database
- Real-time game management and player matching
- Move validation using chess.js library
- Game state synchronization and persistence
- Modern UI with Tailwind CSS and Radix UI
- Real-time updates via WebSocket
- Drag & drop chess board interactions
- Zustand state management and React Router DOM
- User profiles and authentication data
- Complete game history with moves and timestamps
- Optimized queries with strategic indexing
- ✅ Real-time multiplayer chess games
- ✅ Drag-and-drop piece movement with validation
- ✅ Automatic opponent matching
- ✅ Game history and persistence
- ✅ Google OAuth integration
- ✅ User profile management
- ✅ Secure session-based authentication
- ✅ WebSocket real-time communication
- ✅ PostgreSQL with Prisma ORM
- ✅ TypeScript for type safety
- ✅ Docker containerization
- Node.js (v18+), Docker, Google OAuth credentials
docker-compose up -dcd backend_1
npm install
# Add .env with Google OAuth and database credentials
npx prisma migrate dev && npx prisma generate
npm run devcd frontend_1
npm install
npm run devDATABASE_URL="postgresql://myuser:mypassword@localhost:5432/mydatabase"
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"
JWT_SECRET="your_jwt_secret"
APP_PORT=3000
WS_PORT=8080
AUTH_REDIRECT_URL="http://localhost:5173"- ⏱️ Timer logic and move display on UI
- 🏆 Rating system and leaderboards
- 🎨 Custom themes and mobile optimization
- 🗄️ Enhanced database integration with game logic
- ⚡ Redis queue for faster move storage
- ☁️ GCP deployment for production
- 🧪 Comprehensive testing suite
- 🤖 AI opponents with difficulty levels
- 📹 Game replay and analysis
- 💬 In-game chat system
- 🏛️ Tournament organization
Built by Mehul Gupta as a creative chess platform and real-time gaming system. This project demonstrates modern web development practices including WebSocket communication, OAuth authentication, Prisma ORM, and containerized deployment.
- Implement timer logic and move display on UI
- Integrate database with game logic for persistence
- Create Redis queue for faster move storage
- Deploy to GCP instance for production
- Improve UI/UX with cleaner design
- Add comprehensive testing suite
- Implement rating system and leaderboards
- Add game replay functionality
Happy hacking! ♟️
Full API documentation and advanced features coming soon. and its here