This guide explains how to set up Checkora for local development, run the application, and work efficiently on contributions.
Before getting started, ensure you have the following installed:
| Tool | Version |
|---|---|
| Python | 3.12+ |
| Git | Latest |
| pip | Latest |
| g++ | 11+ (required for the C++ chess engine) |
Fork the repository and clone your fork:
git clone https://github.com/<your-username>/Checkora.git
cd CheckoraAdd the upstream repository:
git remote add upstream https://github.com/Checkora/Checkora.git
git fetch upstreampython -m venv .venv
.venv\Scripts\activatepython -m venv .venv
source .venv/bin/activatepip install -r requirements.txtCreate a local environment file from the template:
copy .env.example .envcp .env.example .envUpdate the values in .env as required.
g++ -O2 -std=c++17 game/engine/main.cpp -o game/engine/main.exeg++ -O2 -std=c++17 game/engine/main.cpp -o game/engine/main
chmod +x game/engine/mainApply migrations:
python manage.py migrateCreate an administrator account:
python manage.py createsuperuserpython manage.py runserverOpen:
http://127.0.0.1:8000/
Collect static files when needed:
python manage.py collectstatic --noinputpython manage.py testpython manage.py test game --verbosity=2python manage.py test game.selenium_tests --verbosity=2python manage.py makemigrationspython manage.py makemigrations --check --dry-runpython manage.py migrateSync your fork with the latest upstream changes:
git fetch upstream
git checkout main
git merge upstream/main
git push origin mainFor branch naming conventions, commit message format, pull request guidelines, and code style requirements, refer to:
CONTRIBUTING.md
python manage.py migratepip install -r requirements.txtVerify that a supported version of g++ is installed and available in your system PATH.
README.mdCONTRIBUTING.mddocs/API.mddocs/API_WALKTHROUGH.md