explaingit

abu-rayhan-alif/django-saas-kit

23PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A ready-to-clone Django starter template with multi-tenant subdomain routing, role-based auth, Celery background jobs, real-time WebSocket notifications, and GDPR compliance tools so you can skip the boilerplate and ship your product faster.

Mindmap

mindmap
  root((django-saas-kit))
    Multi-tenancy
      Subdomain routing
      Organization isolation
    Auth
      JWT tokens
      Owner admin member roles
    Background jobs
      Celery workers
      Redis broker
    Compliance
      GDPR data deletion
      Log redaction
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Clone this template to get a multi-tenant SaaS backend with subdomain-per-organization routing running in one Docker command.

USE CASE 2

Add your own business logic on top of the built-in JWT auth, owner/admin/member role system, and Celery background jobs without writing the infrastructure yourself.

USE CASE 3

Use the built-in GDPR management command to implement user data deletion requests and log redaction without building compliance tooling from scratch.

Tech stack

PythonDjangoCeleryRedisDockerWebSocketJWT

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker to start the full stack (PostgreSQL, Redis, Celery workers, and the web server) with a single command.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Django SaaS Kit is a starter template for developers who want to build a software-as-a-service product on top of Django, a popular Python web framework. Instead of spending weeks writing the common infrastructure every SaaS product needs, you clone this repository and get those pieces already in place so you can focus on what makes your product different. The template handles multi-tenancy, which means one running application can serve many separate organizations at the same time, keeping their data isolated. It does this through subdomain routing: requests to tenant1.yourdomain.com are automatically associated with that specific organization. User authentication is handled with short-lived tokens (15 minutes) that automatically refresh, and there is a built-in permission system with three roles per organization: owner, admin, and member. Background jobs, such as sending emails or running scheduled tasks, are handled by Celery running on a Redis message broker. The template also includes real-time notifications delivered over WebSocket connections, feature flags for turning parts of the product on or off without redeployment, and structured logs that include a unique request ID on every line so you can trace a problem through the system. For teams that need to comply with GDPR, the kit includes a management command for erasing a user's personal data, log redaction for sensitive fields like passwords and email addresses, and documentation covering how foreign key relationships are handled during deletion. An automatically generated API documentation page (available at localhost:8000/api/docs after setup) lists every endpoint and lets you call them interactively. Setup requires Docker, and the full stack (database, Redis, Celery workers, and the web server) starts with a single command. The codebase is written in Python and is licensed under MIT, meaning you can use it in commercial products without restrictions.

Copy-paste prompts

Prompt 1
I cloned django-saas-kit and started the Docker stack. How do I create a new tenant organization, add a user with the admin role, and test that subdomain routing works at tenant1.localhost?
Prompt 2
In django-saas-kit, how do I add a Celery background task that sends a welcome email 24 hours after a new user signs up? Show the task definition and how to register and trigger it.
Prompt 3
Help me implement a new API endpoint in django-saas-kit that only org owners can access. Walk me through the permission check, the view, and how it appears in the auto-generated docs at /api/docs.
Prompt 4
I need to implement GDPR data deletion for a user in django-saas-kit. Show me the management command syntax and explain how it handles foreign key relationships before deleting the record.
Open on GitHub → Explain another repo

← abu-rayhan-alif on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.