Skip to main content

Create Django projects and apps with layered architecture.

Project description

Django Layered Start

Django Layered Start is a powerful CLI tool that helps you kickstart your Django projects by automatically creating a clean, SOLID-compliant layered architecture. This package sets up your Django project and apps with separate layers for presentation, application, domain, and infrastructure, providing you with an organized and scalable foundation for your development.


๐Ÿš€ Features

  • Automated Project Setup: Instantly generate a new Django project using django-admin.
  • Layered App Creation: Create Django apps with a predefined folder structure:
    • Presentation: Contains view logic and URL configurations.
    • Application: Houses business logic and service layers.
    • Domain: Includes domain-specific utilities, selectors, and validators.
    • Infrastructure: Manages models and integration with external systems.
  • SOLID Principles: Ensures your code remains clean, maintainable, and scalable by following core SOLID design principles.
  • Interactive CLI Interface: A guided command-line experience for setting up your project and apps without hassle.

๐Ÿ›  Installation

To install the package from PyPI, run:

pip install django-layered-start

Then Start With This Command:

django-layered-start

Creating The Project

  • Project name: myproject๐Ÿ“ฆ

    • Django project "myproject" created!โœ…
  • App name (or N to stop): accounts ๐Ÿงฑ

    • App "accounts" created with layered structure.๐Ÿ“‚
  • Do you want to add another app? (Y/N): Y

    • App name (or N to stop): products
  • App "blog" created with layered structure.

    • Do you want to add another app? (Y/N): N

The Project Structure Will Be:

myproject/
โ”œโ”€โ”€ manage.py
โ”œโ”€โ”€ myproject/
โ”‚   โ””โ”€โ”€ settings.py
โ”œโ”€โ”€ accounts/
โ”‚   โ”œโ”€โ”€ presentation/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ views.py
โ”‚   โ”‚   โ””โ”€โ”€ urls.py
โ”‚   โ”œโ”€โ”€ application/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ””โ”€โ”€ services.py
โ”‚   โ”œโ”€โ”€ domain/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ validators.py
โ”‚   โ”‚   โ”œโ”€โ”€ selectors.py
โ”‚   โ”‚   โ””โ”€โ”€ utilities.py
โ”‚   โ””โ”€โ”€ infrastructure/
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ””โ”€โ”€ models.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_layered_start-0.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_layered_start-0.1.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file django_layered_start-0.1.1.tar.gz.

File metadata

  • Download URL: django_layered_start-0.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for django_layered_start-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5c50bd674ce3cc02c8eff6e8ff3895f569b4e709158f93978b22d520728f214d
MD5 35fd9c86fb592f7b931b1b1a87b11657
BLAKE2b-256 416c465bd129548a5ea00eda7448b4394dab9b3177124884516cd8aabc0564c0

See more details on using hashes here.

File details

Details for the file django_layered_start-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_layered_start-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b99b8205e3cde5f2ee2eaf9d0dee04f136e2f225b2c69fbfd095e82a482bfb9
MD5 7ef95bf2930c73832b8792e2c84ec09b
BLAKE2b-256 8fec588f89a370d7f4d155570d9d6f9d0459a7227bc6707158b58d3a4372c65c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page