This template is packed with features to help you build amazing APIs:
- User Authentication: Secure token-based authentication with
django-rest-knox. - Background Tasks: Asynchronous task processing with
CeleryandRedis. - API Documentation: Automatic OpenAPI 3 schema generation with
drf-spectacular. - Centralized Logging: Structured JSON logging for easy monitoring.
- Custom User Model: Email-based authentication for a modern user experience.
- And much more! Explore the documentation to discover all the features.
- AI Tools: Useful prompts to enhance your development experience with GitHub Copilot, Gemini CLI agent, and Roo Code.
- 🐋 Docker
- 🐳 Docker Compose
- ⚡ uv (for IDE support)
- 🛠️ make (optional, for shortcuts)
- Use GitHub's template feature (recommended) or clone repository
- Start services:
make up(ordocker compose up) - In another terminal, run migrations:
make migrate(ordocker compose exec backend python manage.py migrate) - Create superuser:
make superuser(ordocker compose exec backend python manage.py createsuperuser) - Access API at
http://localhost:8000
Quick Commands:
make help # See all available commands
make test # Run tests
make seed # Populate database with sample data
make logs # View application logsFor IDE support (IntelliSense, autocomplete):
uv sync --all-extrasThis installs dependencies locally so your IDE can provide code completion while your code runs in Docker.
This documentation is your guide to building amazing applications with the Django Starter Template. Use the navigation on the left to explore the different sections.
- Development: Learn about the development workflow, including how to run tests, and use the scripts.
- AI Tools: Explore useful prompts to enhance your development experience with GitHub Copilot.
- Project Structure: Get an overview of the project's directory structure.
- Project Settings: Understand the available settings and how to configure your project.
- Dependencies: See a list of all the project's dependencies.
- Authentication: Learn how to use the authentication and user management endpoints.
- Core App: Discover the core functionalities and API endpoints.
- Logging: Understand the logging system and how to use it.
- Celery Tasks: Learn how to create and manage background tasks.
- Rate Limiting: Configure rate limiting to protect your API.
- Database Seeding: Learn how to seed your database with initial data.
- Testing: Understand how to run and write tests for your project.
- Environment Setup: Learn how to set up your development environment.
