Hey Roger!
1) I will think about a didactic example and update the blog post in a few days.
2) In my experience the Django App is not enough. Although you can create apps by affinity, the usual app structure works by similarity.
Also it is challenging to refractory apps to because moving things around require changing settings and migrations.
This is why I usually start a project with a core app and work until boundaries are more visible.
In a complex system, inside an app, I usually need to rethink a new organization layer to group things even further to keep an affinity approach. Otherwise we end up with 10 models in a model.py and 20 views in views.py, etc because we are reproducing the original Django app structure.
So I prefer to rely more in pure python packages than Django apps.
3) I don't change views.py, urls.py names. I try to make them slim by restricting what kind of code is there. Views are nothing more than HTTP handlers. Anything else is business code. I do use interactor/use case layers, service layers and data access layers.
Roger Camargo π π·
Hi Henrique! 1) Do you have a practical example for that? 2) Does the django app help? Let's say we keep the similarity, however, we create apps to group contexts, let's say a posts app to group code related to this domain, is this a sort of affinity too? 3) Did you change the urls -> views -> models django names? I usually have a service layer where the business logic goes and makes the views less inflated and lives inside the apps related to the domain. Is this an affinity too?
Anyway, I'd love to see any concrete example if possible, perhaps this would help a lot!
Thank you for sharing this!