-1

I've been playing with Django for a couple of weeks and I decided to try to make my personal website with it.

The only thing I can't yet wrap my head around is how I should structure the project. The essential of the site will be a blog-like portfolio that shows projects. Those projects (comparable to categories on normal blogs) will contain posts about them.

Now my question is, should that be 1 big app or should I divide this into multiple smaller apps and in that case how would you do it?

For now it looks acceptable to have everything in one app, but my plan is to add features along the way and expand the site continuously. After some time I don't exclude the possibility that it could get pretty complex :)


Response to the fact that this question has been closed because it is "mostly opinion based"..

I am asking for experience (that I don't yet have), to be able to make a better choice about how I should structure my project in order to avoid having to restructure it later because I made a bad choice due to a lack of experience. Of course this requires some opinion based answers..

Mathieu David
  • 4,706
  • 3
  • 18
  • 28
  • see this: https://stackoverflow.com/questions/22841764/best-practice-for-django-project-working-directory-structure – Kedar Mar 17 '15 at 11:16
  • Thank you, I already found that thread. But my problem is not so much with the directory structure, I have already done extensive research about that. My question is more about **when do you know when to split an app into multiple apps** and **how you would do that** – Mathieu David Mar 17 '15 at 11:23

1 Answers1

1

As you only have one category of articles, I recommend you to start with one application.

Hence, you can start with an application named projects. Then, if you want to write about your experiences, create a new application named experiences, and so on.

Personally, my portfolio is built around three categories/applications:

  1. Skills,
  2. Projects,
  3. Experiences.

Applications are ideal for large Django websites. I advise you to add applications to your project when it becomes bigger and more complex. For now, make your life easier by using only one application ;)

Alexandre
  • 1,635
  • 14
  • 21
  • Great :) How easy is it to divide one app into multiple apps later on if I need to? – Mathieu David Mar 17 '15 at 11:38
  • In fact, you do not need to divide one application into multiple applications. From the start, create a Django project with ``django-admin.py startproject portfolio``and then create a dedicated application for your projects with ``manage.py startapp projects``. Put all stuff about your projects into this application. When you need to present something completly different from your projects, start a new application. If you can't follow this guideline, dividing an application into multiple applications is a kind of refactoring, not something specific to Django itself. – Alexandre Mar 17 '15 at 12:45