A little philosophical question about app

I have started to learn Django and i have a little question about apps

Let’s say my project talks about cars. Each car has a brand (and more complex stuff may arrive later)

Is it better to have a single application that manages everything about cars OR split each item in its own application (an app for cars, an app for brands, and so on…) ?

Thank you very much :slight_smile:

I would not think about apps in terms of “components” (cars, brands, etc). I would think about apps in terms of functionality - at a higher level if you will.

What do you want to do with “Cars”? Do you want to maintain an inventory of cars? That might be one app. Do you want to track pricing history? That could be a separate app - they’re performing different functions, and both could be used for “things” that aren’t “Cars”. (You could track inventory of computers. You could track pricing history of televisions, etc, etc.) So a general inventory module could be an app. A general pricing history module could be an app.

1 Like

If i understand correctly, if my project is like a catalog of cars, i can code cars and brands in the same app

Now if my project is for example a catalog of cars and planes then it would be more logical to have a shared app to manage brands (that would be 3 apps) ?

There are those who might disagree with my opinion here, but I’m in the category of “the fewer apps the better”. I only look to make something an app if I find that I’ve got a good chance of using that code elsewhere.

There have been two prior conversations on this topic here in the forums that you might find informative.

and then, for my more-verbose take on the subject -

Thank you Ken :slight_smile: