https://github.com/wilfredinni/django-starter-template
A comprehensive and easy-to-use starting point for your new API with Django and DRF
https://github.com/wilfredinni/django-starter-template
api api-rest boilerplate celery django django-rest-framework djangorestframework postgresql python redis rest template
Last synced: 3 months ago
JSON representation
A comprehensive and easy-to-use starting point for your new API with Django and DRF
- Host: GitHub
- URL: https://github.com/wilfredinni/django-starter-template
- Owner: wilfredinni
- License: mit
- Created: 2022-03-07T23:02:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-18T00:57:50.000Z (3 months ago)
- Last Synced: 2025-07-18T05:32:00.361Z (3 months ago)
- Topics: api, api-rest, boilerplate, celery, django, django-rest-framework, djangorestframework, postgresql, python, redis, rest, template
- Language: Python
- Homepage: https://wilfredinni.github.io/django-starter-template/
- Size: 2.37 MB
- Stars: 43
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
![]()
# Django starter template
A comprehensive and easy-to-use starting point for your new API with **Django** and **DRF**.
[](https://github.com/wilfredinni/django-starter-template/actions/workflows/test.yml)
[](https://github.com/wilfredinni/django-starter-template/actions/workflows/github-code-scanning/codeql)
[](https://github.com/wilfredinni/django-starter-template?tab=MIT-1-ov-file#readme)## ✨ Key Features
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 `Celery` and `Redis`.
- **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.## Quick Start
### Prerequisites
- 💻 VS Code
- 🐋 Docker
- 🐳 Docker Compose### Setup Steps
1. Use [GitHub's template feature](https://github.com/new?template_name=django-starter-template&template_owner=wilfredinni) (recommended) or clone repository
2. Open in VS Code
3. Check [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree) in the sidebar for setup guidance
4. Run `CTL/CMD + Shift + p` and select `Reopen in container`
5. Create superuser: `python manage.py createsuperuser`
6. Start server: `python manage.py runserver`## 📖 Explore the Documentation
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](https://wilfredinni.github.io/django-starter-template/development):** Learn about the development workflow, including how to run tests, and use the scripts.
- **[AI Tools](https://wilfredinni.github.io/django-starter-template/ai_tools):** Explore useful prompts to enhance your development experience with GitHub Copilot.
- **[Project Structure](https://wilfredinni.github.io/django-starter-template/project_structure):** Get an overview of the project's directory structure.
- **[Project Settings](https://wilfredinni.github.io/django-starter-template/settings):** Understand the available settings and how to configure your project.
- **[Dependencies](https://wilfredinni.github.io/django-starter-template/dependencies):** See a list of all the project's dependencies.
- **[Authentication](https://wilfredinni.github.io/django-starter-template/authentication):** Learn how to use the authentication and user management endpoints.
- **[Core App](https://wilfredinni.github.io/django-starter-template/core_endpoints):** Discover the core functionalities and API endpoints.
- **[Logging](https://wilfredinni.github.io/django-starter-template/logging):** Understand the logging system and how to use it.
- **[Celery Tasks](https://wilfredinni.github.io/django-starter-template/tasks):** Learn how to create and manage background tasks.
- **[Rate Limiting](https://wilfredinni.github.io/django-starter-template/rate_limiting):** Configure rate limiting to protect your API.
- **[Database Seeding](https://wilfredinni.github.io/django-starter-template/database_seeding):** Learn how to seed your database with initial data.
- **[Testing](https://wilfredinni.github.io/django-starter-template/testing):** Understand how to run and write tests for your project.
- **[Environment Setup](https://wilfredinni.github.io/django-starter-template/environment_setup):** Learn how to set up your development environment.