How to manage BIG Django project

Hi everyone.

A little bit of context to start:
I’m currently migrating a ton of applications from Excel/.exe to a large Django Web App. This involves 17 services, each of which has at least 5 applications to migrate, sometimes even more.

So, I started to create my Django project, and it’s organized like this:

myproject/
├── Homepage/
├── myproject/
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── static/
└── Utility/
│ ├── Utility 1/
│ ├── Utility 2/
│ ├── Utility 3/
└── Application/
│ ├── Service 1/
│ │ ├── App 1/
│ │ ├── App 2/
│ ├── Service 2/
│ │ ├── App 1/
│ │ ├── App 2/
│ ├── Service 3/
│ │ ├── App 1/
│ │ ├── App 2/

And all of this is in one GitHub repo for now. I’ve only migrated 4 applications, so it’s sustainable for the time being. However, as I continue, having 100+ applications in the same repo will likely become messy.

I would love to create a separate Django project for each service, but at the moment, I only have one server available to run them. Additionally, since most of the applications are only used once a month, I’m not concerned about available threads.


My plan is to create a separate repository for each application, developing them in distinct environments, and then integrating them into the project.

Is there a specific best practice for how to do this, or any obvious pitfalls to avoid?

Do I have to duplicate my Django environment for each app?

Is this approach advisable?

Are there existing tools for this purpose?

I’ve already explored things like setuptools , but it seems more geared towards reusability rather than aiding in implementation.

Thanks in advance for the response. Don’t hesitate to ask for more information if needed.