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-1.1.1.tar.gz (4.4 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-1.1.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django_layered_start-1.1.1.tar.gz
  • Upload date:
  • Size: 4.4 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-1.1.1.tar.gz
Algorithm Hash digest
SHA256 125ab30ad5262b1df25e572c6db0fd3a68f4b7fe215218283c968c4d797cc1b6
MD5 7e33b459f9fb05aca54fd9b871d35101
BLAKE2b-256 d6fbcd9aa8e1ca90cdff2082306659ca927ade5a7ea7d4170b7d4a49ef0df7a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_layered_start-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 774b7709ffd7aa6a06d4185593e5051d2582e8f1bf9f0bccd866ac22b35c3115
MD5 59379c0522d855ea3d6f0b53986917a5
BLAKE2b-256 d68deb5923be3b2f33016d6b0eaf1bf3491a0ba17f1c48d5ac70b80104f12765

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