Welcome to the Chess Tournament Management System! This project is designed to manage chess tournaments, including player registration, tournament management, match scheduling, and leaderboard generation.
- User Authentication: Secure user registration and login.
- Player Management: Add and manage players with their ratings.
- Tournament Management: Create tournaments with unique names and assign players to them.
- Match Management: Automatically generate pairings for each round based on the Swiss-system tournament rules and update match results.
- Leaderboard: Generate and display leaderboards showing player ranks, points, and other statistics.
- API Documentation: Comprehensive API documentation using Swagger.
- Python 3.6+
- Django 3.2+
- Virtual Environment (optional but recommended)
- Clone the repository:
git clone https://github.com/olllayor/chess-tournament.git cd chess-tournament
- Create and activate a virtual environment:
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate`
- Install the required packages:
pip install -r requirements.txt
- Apply database migrations:
python manage.py makemigrations python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the application: Open your browser and go to http://127.0.0.1:8000/admin to access the admin interface.
The project uses Django Rest Framework to provide API endpoints for managing players, tournaments, and matches. The API documentation is available at http://127.0.0.1:8000/swagger/.
python manage.py test
Message Olloyor on [email protected], Telegram