DraftForge Documentation
Welcome to the DraftForge documentation. DraftForge is a platform for managing Dota 2 tournaments, teams, and competitive gaming.
Overview
DraftForge is a full-stack application for managing:
- Users - Discord-integrated user management
- Tournaments - Tournament creation and management
- Teams - Team organization and drafting
- Games - Match tracking and statistics
Screenshots
| Home |
Tournaments |
 |
 |
| Tournament Detail |
Player Draft |
 |
 |
| Bracket |
Hero Draft |
 |
 |
Tech Stack
| Layer |
Technologies |
| Frontend |
React, TypeScript, Vite, TailwindCSS, Shadcn UI |
| Backend |
Django, Django REST Framework, Redis |
| Infrastructure |
Docker, Nginx, GitHub Container Registry |
| Observability |
structlog, OpenTelemetry (opt-in) |
| Authentication |
Discord OAuth via django-social-auth |
Quick Links
Features
- Draft System - Snake, Normal, and Shuffle draft modes
- Hero Draft - Captains Mode hero banning and picking
- CSV Import - Bulk-add users via CSV with team assignment and conflict detection
Demo Recordings
Generate Demos Locally
# Record all demos and generate GIFs
just demo::quick
# Or record individually
just demo::shuffle # Shuffle draft
just demo::snake # Snake draft
just demo::herodraft # Hero draft with bracket
just demo::csv # CSV import with bracket
See Just Commands for all options.
Project Structure
website/
├── backend/ # Django REST API
├── frontend/ # React + TypeScript + Vite
├── docker/ # Docker Compose configurations
├── nginx/ # Nginx reverse proxy config
├── scripts/ # Utility scripts
└── docs/ # This documentation