This is a scalable online multiplayer chess game (in development) built with Flutter and Node.js. You can play on the web using this link or download the Android APK from here.
- Flutter
- Node.js
- Express.js
- Socket.io
- PostgreSQL
- Prisma ORM
- Redis (Storage and Pub/Sub)
- Resend (Email service)
- Stockfish-Docker (Optional - stockfish-docker)
- Docker
- Completed
- User Authentication
- Email Verification
- Game Room Creation
- Game Room Joining
- Real-time Chess Game
- Move History
- Mobile and Web Support
- Move Validation
- Checkmate Detection
- Stalemate Detection
- Draw Detection
- Resignation
- Game Caching (Redis)
- Disconnection Detection
- Game History
- View Past Games
- Game Analysis using Stockfish (Deployed using stockfish-docker) (Disabled on website and app due to server failure)
- Reactions
- Docker Compose for easy deployment
- Clone the repository
- Install the dependencies
- Flutter
- Node.js
- PostgreSQL (preferably with Docker)
- Redis (preferably with Docker)
- Rename the .env file in the
server
directory to .env and fill in the required environment variables - Edit server urls in the
lib/constants.dart
file - Run the server
docker-compose up -d
- Run the client
flutter pub get flutter run
Read the CONTRIBUTING.md file for more information on how to contribute to this project.