Quick Start¶
Get the application running in 5 minutes.
1. Clone the Repository¶
2. Install Dependencies¶
This installs all dependencies including development tools (ruff, mypy, pytest).
3. Configure Environment¶
Copy the example environment file:
The default configuration works for local development. Key variables:
DJANGO_SECRET_KEY=example-django-secret-key
JWT_SECRET_KEY=example-jwt-secret
DATABASE_URL="postgres://postgres:example-postgres-password@localhost:5432/postgres"
REDIS_URL="redis://default:example-redis-password@localhost:6379/0"
Production
Generate secure secrets for production. Never use example values.
4. Start Infrastructure¶
Start PostgreSQL, Redis, and MinIO:
COMPOSE_FILE
The .env.example includes COMPOSE_FILE=docker-compose.yaml:docker-compose.local.yaml which automatically configures Docker Compose for local development. See .env.example for reference.
Verify services are running:
5. Initialize Application¶
Create MinIO buckets, run migrations, and collect static files:
Manual Migrations
You can also run migrations manually using make makemigrations and make migrate.
6. Start the Development Server¶
The API is now available at http://localhost:8000.
7. Verify It Works¶
Check the Health Endpoint¶
Expected response:
Browse the API Documentation¶
Open http://localhost:8000/docs in your browser to see the interactive OpenAPI documentation.
Optional: Start Celery Worker¶
In a separate terminal:
Optional: Start Telegram Bot¶
- Get a bot token from @BotFather
- Add to
.env: - Start the bot:
Next Steps¶
- Development Environment — Complete IDE setup
- Project Structure — Understand the codebase
- Your First API Endpoint — Add a new endpoint