Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manangandhi1810/online-chess
This is an online multiplayer chess game built in flutter and node.js
https://github.com/manangandhi1810/online-chess
chess flutter nodejs online-chess redis
Last synced: 1 day ago
JSON representation
This is an online multiplayer chess game built in flutter and node.js
- Host: GitHub
- URL: https://github.com/manangandhi1810/online-chess
- Owner: MananGandhi1810
- License: mit
- Created: 2024-04-19T18:16:20.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-08-27T06:56:17.000Z (3 months ago)
- Last Synced: 2024-08-27T16:01:56.871Z (3 months ago)
- Topics: chess, flutter, nodejs, online-chess, redis
- Language: Dart
- Homepage: https://chess.manangandhi.tech/
- Size: 280 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Online Chess Game
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](https://chess.manangandhi.tech/) or download the Android APK from [here](https://github.com/MananGandhi1810/online-chess/raw/app-release/app-release.apk).
## Technologies
- Flutter
- Node.js
- Express.js
- Socket.io
- PostgreSQL
- Prisma ORM
- Redis (Storage and Pub/Sub)
- Resend (Email service)
- Stockfish-Docker (Optional - [stockfish-docker](https://github.com/samuraitruong/stockfish-docker))
- Docker## Features
- 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](https://github.com/samuraitruong/stockfish-docker)) (Disabled on website and app due to server failure)
- Reactions
- Docker Compose for easy deployment## Installation
1. Clone the repository
2. Install the dependencies
- Flutter
- Node.js
- PostgreSQL (preferably with Docker)
- Redis (preferably with Docker)
3. Rename the .env file in the `server` directory to .env and fill in the required environment variables
4. Edit server urls in the `lib/constants.dart` file
5. Run the server
```bash
docker-compose up -d
```
6. Run the client
```bash
flutter pub get
flutter run
```## Contribution Guidelines
Read the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information on how to contribute to this project.