Правильная ли структура проекта?
Вот структура моего проекта:
├─── applications
│ ├─── about
│ │ ├─── admin.py
│ │ ├─── api
│ │ │ │ └─── __init__.py
│ │ │ ├─── apps.py
│ │ ├──── __init__.py
│ │ ├─── libs
│ │ │ │ └─── __init__.py
│ │ │ ├─── migrations
│ │ │ │ └─── __init__.py
│ │ ├─── models.py
│ │ │ ├─── services
│ │ │ │ └─── __init__.py
│ │ ├─── templates
│ │ ├─── tests.py
│ │ │ └─── views.py
│ ├─── account
│ │ │ ├─── admin.py
│ │ ├─── api
│ │ │ │ └─── __init__.py
│ │ │ ├─── apps.py
│ │ ├──── __init__.py
│ │ ├─── libs
│ │ │ │ └─── __init__.py
│ │ │ ├─── migrations
│ │ │ │ └─── __init__.py
│ │ ├─── models.py
│ │ │ ├─── services
│ │ │ │ └─── __init__.py
│ │ ├─── templates
│ │ ├─── tests.py
│ │ │ └─── views.py
│ ├─── blog
│ │ │ ├─── admin.py
│ │ ├─── api
│ │ │ │ └─── __init__.py
│ │ │ ├─── apps.py
│ │ ├──── __init__.py
│ │ ├─── libs
│ │ │ │ └─── __init__.py
│ │ │ ├─── migrations
│ │ │ │ └─── __init__.py
│ │ ├─── models.py
│ │ │ ├─── services
│ │ │ │ └─── __init__.py
│ │ ├─── templates
│ │ ├─── tests.py
│ │ │ └─── views.py
│ ├─── middlware
│ ├─── order
│ │ ├─── admin.py
│ │ ├─── api
│ │ │ │ └─── __init__.py
│ │ │ ├─── apps.py
│ │ ├──── __init__.py
│ │ ├─── libs
│ │ │ │ └─── __init__.py
│ │ │ ├─── migrations
│ │ │ │ └─── __init__.py
│ │ ├─── models.py
│ │ │ ├─── services
│ │ │ │ └─── __init__.py
│ │ ├─── templates
│ │ ├─── tests.py
│ │ │ └─── views.py
│ └─── product
│ ├─── admin.py
│ ├─── api
│ │ │ └─── __init__.py
│ ├─── apps.py
│ ├─── __init__.py
│ ├─── libs
│ │ │ └─── __init__.py
│ ├─── migrations
│ │ │ └─── __init__.py
│ ├─── models.py
│ ├─── services
│ │ │ └─── __init__.py
│ ├─── templates
│ ├─── tests.py
│ └─── views.py
├─── configs
│ ├─── asgi.py
│ ├─── __init__.py
│ ├─── settings.py
│ ├├─── urls.py
│ └─── wsgi.py
└─── manage.py
configs - project settings
applications - apps:)
middleware - middleware:)
application/app/libs - python libraries (I think it's better to use the standard interface for python libraries and add them to site-packages, even if they are written by me)
application/app/api - third-party api (I think it's better to put the api on the top level)
application/app/templates - templates
application/app/services + models.py - business logic
application/app/views.py - views
Что лучше изменить и является ли эта структура "хорошей" для средней команды?
P.S. Мне также интересно, как должно осуществляться взаимодействие между приложениями django, если, например, заказ использует модели счета и товара (у меня возникла идея поместить ссылку на модели в настройки типа AUTH_USER_MODEL).
Я прочитал много статей об эффективных паттернах для создания веб-приложений на django, но так и не понял, как лучше поступить
project_name/
│
├── applications/
│ ├── about/
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── __init__.py
│ │ ├── libs/ # Python libraries specific to this app
│ │ ├── middleware/ # Middleware specific to this app
│ │ ├── api/ # Third-party API specific to this app
│ │ ├── templates/ # Templates specific to this app
│ │ ├── services/ # Business logic specific to this app
│ │ │ └── models.py
│ │ └── views.py # Views specific to this app
│ │
│ ├── account/
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── __init__.py
│ │ ├── libs/
│ │ ├── middleware/
│ │ ├── api/
│ │ ├── templates/
│ │ ├── services/
│ │ │ └── models.py
│ │ └── views.py
│ │
│ ├── blog/
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── __init__.py
│ │ ├── libs/
│ │ ├── middleware/
│ │ ├── api/
│ │ ├── templates/
│ │ ├── services/
│ │ │ └── models.py
│ │ └── views.py
│ │
│ ├── order/
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── __init__.py
│ │ ├── libs/
│ │ ├── middleware/
│ │ ├── api/
│ │ ├── templates/
│ │ ├── services/
│ │ │ └── models.py
│ │ └── views.py
│ │
│ └── product/
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── libs/
│ ├── middleware/
│ ├── api/
│ ├── templates/
│ ├── services/
│ │ └── models.py
│ └── views.py
│
├── configs/
│ ├── asgi.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
│
└── manage.py