Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

74 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

License: MIT Profile Views GitHub stars GitHub forks GitHub issues GitHub last commit

ChessMate - Chess Coaching Platform

Note: This repo is the early public build of ChessMate. The production system โ€” live at chess-mate.online โ€” is developed in a private repo. Architecture, tradeoffs, and current state are covered in the case study.

ChessMate is a chess coaching platform that uses the Stockfish engine to analyze batches of games and generate personalized coaching reports.

Navigation

Features

  • Game Analysis: Batch analysis of chess games using the Stockfish engine
  • Personalized Feedback: Coaching feedback generated from your own games
  • Credit System: Flexible credit packages for game analysis
  • Multi-Platform Support: Import games from Chess.com and Lichess
  • Modern UI: Responsive design with real-time updates
  • Secure Authentication: JWT-based authentication system

Prerequisites

  • Python 3.8+
  • Node.js 14+
  • Redis Server
  • Stockfish Chess Engine
  • PostgreSQL (optional, SQLite by default)

Installation

  1. Clone the repository:

    git clone https://github.com/ahmed5145/chessmate.git
    cd chessmate
  2. Install dependencies:

    • Backend:

      cd chessmate
      python -m venv venv
      source venv/bin/activate  # or `venv\Scripts\activate` on Windows
      pip install -r requirements.txt
    • Frontend:

      cd frontend
      npm install
  3. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration:
    # - Set up email credentials
    # - Add OpenAI API key
    # - Configure Stripe keys
    # - Set Stockfish path
  4. Initialize the database:

    python manage.py makemigrations
    python manage.py migrate
  5. Start Redis Server:

    redis-server
  6. Start Celery Worker:

    celery -A chess_mate worker -l info
  7. Run development servers:

    • Backend:

      cd chess_mate
      python manage.py runserver
    • Frontend:

      cd frontend
      npm start

Usage

  1. Create an account or sign in using your email and password
  2. Purchase analysis credits from available packages
  3. Import games from Chess.com or Lichess
  4. Select games for analysis
  5. View detailed analysis including:
    • Move accuracy
    • Critical moments
    • Improvement suggestions
    • Opening recommendations
    • Time management feedback

Testing

  • Backend Tests:

    cd chess_mate
    python -m pytest
  • Frontend Tests:

    cd frontend
    npm test

API Documentation

See API Documentation for detailed endpoint information.

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Stockfish Chess Engine
  • OpenAI API
  • Chess.com API
  • Lichess API

Copyright ยฉ 2024 ChessMate. All rights reserved.

About

๐ŸŽฎ A comprehensive chess analysis platform that provides personalized insights by analyzing games from chess.com and lichess. Features AI-powered recommendations, detailed metrics, and customizable analysis packages. Built with React.js, Django, and Stockfish. ๐Ÿ” Live Demo: https://chess-mate.online

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages