Hi Andreas,
I would say that this depends on your use case. I try to group functionality or domains in my apps. So for example I have all of the invoicing views and models in one app, all of the user models and views in another app. There are some models that have relationships to other models in other apps but thats the way I do it. So I try to group all of the functionality that is the same in one app.
If you want to create a reusable app however (for posting on pypi), you should not add any dependencies on other apps - but that is a different conversation.