Skip to content

MananGandhi1810/online-chess

Repository files navigation

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 or download the Android APK from here.

Technologies

  • Flutter
  • Node.js
  • Express.js
  • Socket.io
  • PostgreSQL
  • Prisma ORM
  • Redis (Storage and Pub/Sub)
  • Resend (Email service)
  • Stockfish-Docker (Optional - 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) (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
    docker-compose up -d
  6. Run the client
    flutter pub get
    flutter run

Contribution Guidelines

Read the CONTRIBUTING.md file for more information on how to contribute to this project.

About

This is an online multiplayer chess game built in flutter and node.js

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages