Django Starter Project

screenshot of Django Starter Project

Opinionated boilerplate for Django projects.

Overview:

The Django Starter Project is an opinionated boilerplate designed to streamline the setup process for Django projects. It includes various tools and configurations to save time on project configuration and allow developers to focus on development rather than tedious setup tasks.

Features:

  • Env Variables Manager: Django Environ: Manages environment variables for configuration, following the 12 Factor App Guide.
  • Package manager: Poetry: Uses Poetry as the package manager, providing a replacement for pip.
  • Database: PostgreSQL: Configured to use PostgreSQL as the database.
  • Task Queue: Celery with Redis: Utilizes Celery with Redis for task queue management.
  • Testing: PyTest: Configured with PyTest as the testing framework.
  • Logging: Sentry: Integrates with Sentry for logging and error monitoring.
  • Python Code Formatter: Black: Includes Black as the Python code formatter for consistent code styling.
  • Static File Storage: AWS S3 or Digital Ocean Spaces: Supports storage of static files in either AWS S3 or Digital Ocean Spaces.
  • Dev Orchestration: Docker & Docker Compose: Provides Docker and Docker Compose for development orchestration.
  • Static File Compiler: Webpack: Uses Webpack as the static file compiler for efficient asset management.
  • JS lint: ESLint: Includes ESLint for JavaScript linting.
  • Style lint: Stylelint: Utilizes Stylelint for CSS and style linting.