Mason Dj

screenshot of Mason Dj

A fully-featured opinionated Django Starter Template for serious SaaS

Overview

The Django Mason Starter is an innovative and feature-rich back-end starter template designed for medium-sized SaaS applications. Built on the powerful Django framework, this template is perfect for development teams looking to kickstart their projects with a solid foundation. It emphasizes a smooth developer experience and incorporates best practices to ensure your application is both robust and scalable.

This starter template is not just a boilerplate; it combines modern development tools with a clean architecture that promotes maintainability and efficiency. With a focus on both productivity and code quality, it's equipped to handle the demands of contemporary development workflows.

Features

  • Top-notch Developer Experience: Seamless integration with VS Code, providing a polished development environment for efficiency and ease of use.
  • Docker-Compose Ready: Easily manage multiple services like Django, PostgreSQL, and Redis using a docker-compose setup for simplified local development.
  • Advanced Debugging Tools: Built-in debugging tools such as ipdb combined with VS Code debug capabilities and django-debug-toolbar enhance troubleshooting capabilities.
  • Linting and Formatting: Multi-linting, auto-formatting, and import sorting using Ruff streamline coding standards and consistency across the team.
  • Robust Database Management: Leveraging PostgreSQL with custom commands for data handling and features like soft deletion to maintain data integrity.
  • RESTful API Development: Out-of-the-box support for creating a REST API using django-ninja, complete with token-based authentication and OpenAPI documentation.
  • Asynchronous Task Handling: Full Celery support, including task scheduling and results tracking, making it easy to manage background jobs and improve application performance.
  • Extensive Testing Infrastructure: Incorporates pytest and factory boy for unit testing, promoting a test-driven development approach.

This template not only aids in rapid development but also lays down a strong framework for scaling and maintaining projects as they grow.