Production-Ready Django Web Application

A robust, scalable web application foundation built with Django views and templates. Featuring complete authentication flows, comprehensive user management, and enterprise-grade security out of the box.

Quick Links

Getting Started

Follow these simple steps to get Shirobase up and running on your local machine

💡
Command Usage

Use uv run <command> if you don't have a virtual environment activated. Otherwise, use python <command> directly.

1

Prerequisites

  • Python 3.14+ installed
  • uv package manager
2

Clone Repository

>> git clone https://github.com/TrippleA-Ashaba/shirobase.git your-project
>> cd your-project
3

Install Dependencies

uv sync

Lightning-fast dependency installation with uv

4

Configure Environment

Create a .env file:

SECRET_KEY=your-secret-key
DEBUG=True
USE_SQLITE=False
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=your_database_host
DB_PORT=your_database_port
ALLOWED_HOSTS=localhost,127.0.0.1
ALLOWED_HOSTS=localhost,127.0.0.1
5

Run Migrations

uv run python manage.py migrate
# or: python manage.py migrate
6

Create Superuser

uv run python manage.py createsuperuser
# or: python manage.py createsuperuser

🚀 Launch Your Server

uv run python manage.py runserver
# or: python manage.py runserver

Visit http://localhost:8000 to see your application running!

🧪 Running Tests

Run all tests:

uv run pytest
# or: pytest

Run with coverage:

uv run pytest --cov
# or: pytest --cov

Run specific test file:

uv run pytest path/to/test.py
# or: pytest path/to/test.py

Run specific test function:

uv run pytest path/to/test.py::test_name
# or: pytest path/to/test.py::test_name

About the Project

Shirobase is a carefully crafted Django web application starter template designed to accelerate your development process. It eliminates the tedious setup phase by providing a solid foundation with authentication, user management, and essential middleware configurations already in place.

Built with scalability and security in mind, Shirobase integrates industry-standard libraries like django-allauth for comprehensive account management, Django templates for server-side rendering, and session-based authentication. Whether you're building a web application, SaaS platform, or content management system, Shirobase provides the building blocks you need.

The architecture follows Django best practices with a modular app structure, making it easy to extend and maintain. Built-in features include password reset flows, email verification, audit logging, and optional REST API support if needed. The project focuses on Django views and templates as the primary approach to building web interfaces.

Tech Stack

🐍

Core Framework

  • Django 5.2+
  • Django REST Framework
  • Python 3.14+
🔐

Authentication

  • SimpleJWT
  • dj-rest-auth
  • django-allauth
💾

Database

  • PostgreSQL
  • SQLite (Dev)
📚

API Documentation

  • drf-spectacular
  • Swagger UI
  • OpenAPI 3.0
🛠️

Developer Tools

  • Django Debug Toolbar
  • django-extensions
  • Loguru Logging

Additional Features

  • Audit Logging
  • Author Tracking
  • WhiteNoise Static Files

Key Features

Session Authentication

Secure, session-based authentication with Django Allauth integration

User Management

Complete user registration, login, and profile management flows

Password Reset

Email-based password reset with secure token generation

Template-Based UI

Modern, responsive templates with Django template engine

Audit Logging

Track all model changes with comprehensive audit trails

Docker Ready

Containerized setup for consistent development and deployment