Skip to content

HEKPYTO/ChessClouds

Repository files navigation

ChessClouds

ChessClouds Light Logo ChessClouds Dark Logo

ChessClouds is a next-generation chess platform designed for high-performance gameplay with players worldwide. It offers a modern, intuitive interface and powerful backend systems for real-time multiplayer matches and computer opponents.

Table of Contents

Overview

ChessClouds provides a comprehensive chess gaming experience with both real-time multiplayer and computer opponents. The platform features a beautiful UI with light and dark modes, real-time gameplay, matchmaking, and integration with a powerful chess engine.

ChessClouds Web Interface

Features

  • Real-time gameplay - Play chess matches in real-time with players worldwide
  • Computer opponents - Challenge the Stockfish chess engine at various difficulty levels
  • Matchmaking - Automatically find opponents of similar skill level
  • Beautiful UI - Modern, responsive interface with both light and dark modes
  • Game analysis - Review past games with move history
  • Authentication - Secure login with Google authentication
  • Game history - Track your performance and review past games
  • Responsive design - Play on any device, from desktop to mobile
Home Page Light Mode Home Page Dark Mode

Architecture

ChessClouds is built with a microservices architecture:

  • Frontend: Next.js React application
  • Backend Services:
    • WebSocket Server: Real-time game communication
    • Matchmaking Service: Player matchmaking
    • Chess Engine API: Stockfish integration
  • Database: PostgreSQL for game state persistence
  • Infrastructure: AWS-based deployment using Terraform

ChessClouds Architecture Overview

Development

Prerequisites

  • Docker and Docker Compose
  • Node.js 18+ and Bun (for web development)
  • Rust (for backend services)

Setup

  1. Clone the repository
git clone https://github.com/yourusername/chessclouds.git
cd chessclouds
  1. Copy the environment template
cp template.env .env
  1. Update the environment variables as needed

  2. Start the services with Docker Compose

docker-compose up -d
  1. Access the web application at http://localhost:3000

Deployment

ChessClouds can be deployed to AWS using the Terraform configurations in the terraform directory.

  1. Copy and configure the Terraform variables
cp terraform/template.tfvars terraform/terraform.tfvars
# Edit terraform.tfvars with your specific values
  1. Deploy the infrastructure
cd terraform
terraform init
terraform apply -var-file=terraform.tfvars

See the Infrastructure documentation for more detailed deployment instructions.

About

Cloud Services Integrated Project, a Modern Chess Playing Website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •