Как лучше всего разделить проект Django на приложения?
Здравствуйте! Мне в рамках учебного проекта необходимо реализовать сайт-портфолио. Возникли сомнения, как правильнее разбить проект на приложения.
Реализовано приложение, которое позволяет работать с аккаунтом: авторизация, восстановление пароля, регистрация.
Планируется следующая модель: user --(oto)-> portfolio_list --(otm)-> portfolio --(otm)-> item
Планируется главная страница с поиском портфолио и юзеров, а также функционал, отвечающий за портфолио, помимо работы с аккаунтами.
Каким образом разбить проект? Первое, что пришло на ум: homepage, account, portfolio. Здесь смущают некоторые моменты:
0. portfolio можно создавать только из-под авторизованного аккаунта, поэтому не часть ли это account?
1. Что делать с моделью? Все три приложения будут использовать предложенную схему, однако реализация будет лежать в каком-то одном приложении. Или же можно как-то реализовывать модели, связывая их с другими, лежащие в других приложениях?
Не нужно выделять homepage в отдельное приложение. Всегда есть корень проекта, которого для этого функционала достаточно.
То, что портфолио можно создавать только из под авторизованного аккаунта, не делает его частью приложения, отвечающего за авторизацию.
Модели у каждого приложения должны быть свои. Связи между приложениями - это нормально.