A modern, responsive website for playing the Antichess (Lose-All Chess) variant. Built with Django (Backend) and Vue 3 (Frontend).
Antichess is a chess variant where the goal is to lose all your pieces. Capturing is mandatory. This project implements:
- Real-time gameplay using WebSockets.
- User authentication and profiles with Elo ratings.
- Matchmaking system.
- Modern dark-themed UI.
- Backend: Python, Django, Django REST Framework, Django Channels (WebSockets), python-chess.
- Frontend: Vue 3, Pinia (State Management), Vue Router, Vanilla CSS.
- Python 3.10+
- Node.js 16+
- Navigate to the backend directory:
cd backend - Create and activate a virtual environment (optional but recommended).
- Install dependencies:
pip install -r requirements.txt
- Run migrations:
python manage.py migrate
- Start the server:
The API runs at
python manage.py runserver
http://localhost:8000.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
The app works at
http://localhost:5173.Note: Ensure the backend is running for API and WebSocket features to work.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes.
- Push to the branch.
- Open a Pull Request.
- Follow the existing code style (Vue Composition API, Python PEP8).
- Write tests for new backend logic.
- Ensure the linter passes before pushing.
Created by Andrea Gobbetti.