A production-ready Django boilerplate with authentication, REST API, and modern tooling.
- π Authentication: django-allauth with social login (Google), MFA support
- π REST API: Django REST Framework with dj-rest-auth
- π Forms: Crispy Forms with Bootstrap 5
- π§ Email: Mailchimp Transactional (Mandrill) integration
- π± Phone: Phone number field support
- π Filtering: Django Filter for querysets
- π API Docs: Swagger/OpenAPI via drf-yasg
- Python 3.10+
- pip (Python package manager)
- Git
# Clone the repository
git clone <repository-url>
cd boilerplate-django
# Run the setup script
chmod +x docs/bash/setup.sh
./docs/bash/setup.sh# Clone the repository
git clone <repository-url>
cd boilerplate-django
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate # On macOS/Linux
# venv\Scripts\activate # On Windows
# Install dependencies
pip install -r requirements.txt
# Copy environment file
cp docs/configs/.env .env
# Run migrations
python manage.py migrate
# Collect static files
python manage.py collectstatic --noinput
# Create superuser
python manage.py createsuperuser
# Run the development server
python manage.py runserverboilerplate-django/
βββ root/ # Django project settings
β βββ settings.py # Main settings file
β βββ urls.py # Root URL configuration
β βββ wsgi.py # WSGI configuration
βββ src/ # Application modules
β βββ core/ # Core app (models, helpers, signals)
β βββ services/ # Backend services
β β βββ accounts/ # User accounts & authentication
β β βββ dashboard/ # Dashboard functionality
β βββ web/ # Frontend web apps
β βββ website/ # Public website
βββ templates/ # HTML templates
βββ static/ # Static assets (CSS, JS, images)
βββ media/ # User-uploaded files
βββ docs/ # Documentation & scripts
β βββ bash/ # Bash utility scripts
β βββ configs/ # Configuration templates
βββ manage.py # Django management script
The project uses django-environ for environment variable management. Create a .env file in the project root:
cp docs/configs/.env.example .envKey environment variables:
| Variable | Description | Default |
|---|---|---|
DEBUG |
Enable debug mode | True |
SECRET_KEY |
Django secret key | Required |
ENVIRONMENT |
Environment type (local/server) |
local |
DOMAIN |
Site domain | localhost:8000 |
PROTOCOL |
HTTP or HTTPS | http |
ALLOWED_HOSTS |
Comma-separated list of hosts | localhost,127.0.0.1 |
SITE_ID |
Django site ID | 1 |
DB_* |
Database configuration | SQLite (local) |
All scripts are located in docs/bash/ and can be run from any directory:
# Make scripts executable (first time only)
chmod +x docs/bash/*.sh| Script | Description |
|---|---|
setup.sh |
Complete project setup (venv, deps, migrations, static) |
migrations.sh |
Run migrations for all apps |
migrations_clean.sh |
Clean all migration files (with confirmation) |
requirements.sh |
Install/update Python dependencies |
static.sh |
Collect static files |
superuser.sh |
Create admin superuser |
./docs/bash/migrations.shpython manage.py makemigrations company projects resources services website
python manage.py migrate./docs/bash/migrations_clean.sh./docs/bash/superuser.shDefault credentials (for development):
- Email: [email protected]
- Username: mark
- Password: mark
Access admin panel at: http://localhost:8000/admin/
python manage.py runserverpython manage.py runserver 0.0.0.0:8080| App | Path | Description |
|---|---|---|
company |
src/services/company/ |
Company info, team, about pages |
projects |
src/services/projects/ |
Portfolio and project showcase |
resources |
src/services/resources/ |
Resources and downloads |
services |
src/services/services/ |
Service offerings |
website |
src/website/ |
Main website, homepage, contact |
This project is proprietary software owned by Exarth Corporation. All rights reserved.