title: How many separate apps should I have with my Django app
body: <p>How many apps should I have in my Django project. For instance, I am building a pet application where there can be owners, pets, veterinarians, etc.</p>
  <p>For now sticking to only the 3 I mentioned should I have these as separate apps within my Django project or should I just create one app to handle everything. I will be adding more features as time goes on.</p>
  <p>The idea I had was to create a project</p>
  <p><code>django-admin startproject mypets</code></p>
  <p>Then create an application for each:</p>
  <p><code>python manage.py startapp pet</code></p>
  <p>and</p>
  <p><code>python manage.py startapp pet_owner</code></p>
  <p>and</p>
  <p><code>python manage.py startapp veterianarian</code></p>
  <p>As I mentioned before, there are other features I will be adding to my application like photos todo like feature and so on. My concern is that my project is going to get big which is why I want to separate <code>pet_owner</code> and <code>pet</code> each as their own apps. I was thinking this is exactly what I should do but then realized that when I went to <code>mypets.urls.py</code> file and I was thinking about forwarding some requests to a path I quickly realized that I want my route to always have <code>mypets/</code>.</p>
  <pre><code>urlpatterns = [
      path('admin/', admin.site.urls),
      path('mypets/petowner/', include('petowner.urls')),
      path('mypets/pet/', include('pet.urls')),
  ]
  </code></pre>
  <p>but they seem separate in a way that I do not want them to be. For instance. I care about having <code>mypets/petowner/&lt;petowner-id&gt;/pets/</code> etc. They are going to be very closely related to each other and I will be using relationships in my <code>models</code>. The separation that I want is mostly for organization and readability. I do not want to have a file <code>models.py</code> with a huge amount of code - I think that is ugly and messy.</p>
  <p>I plan in the future to use <code>React</code> for my frontend, but because I'm trying to learn Django well I'm going to stick to a full Django app and use <code>django-templates</code>. Not sure if this matters but thought I would mention it just in case.</p>