Никита Никитин,
давайте по порядку
1. Масштабирование бизнеса, открытие доп.магазинов , для магазинов будет по сути тот же интервейс, лишь только с данными своих клиентов ,
вы учли что доп.магазины должны иметь своих менеджеров, что работа с клиентами должна вестись по связке клиент - менеджер - магазин. учли возможность перемещения заказов от точки к другой, (одна тупо закрылась, или расширение точками) , старые заказы остаются на прежней новые создаются на новой, учли видимость заказов/клиентов/платежей/позиций/отгрузок/ и тд точек между ГО, дилерами, магазинами ???
2.Загрузка прайс листов этих магазинов,какие то их акции..
это вообще интересная тема, какие форматы собираетесь поддерживать текстовые ок, а как xls, файлы в архивах ? хватит ресурсов сервера их парсить, в разных кодировках, с постоянно меняющейся разметкой? прайсы. кроссы. номенклатура, замены?
3. Приемка товара с помощью сканера по штрих коду или иное, выдача товара со склада
Складской учет, приходы, отгрузки, импорт , экспорт в разных форматах, сопоставление состояний, складские остатки, резервирование, складские ячейки, хммм. осилите?
4. Отправка заказов поставщику на почту, если поставщик загружен с помощью прайс листа. Ок отправили, поставщик шлет обратно на потчу, автозагрузка? работа с разными почтовыми серверами ? автоприходования. автоппоиск писем с вложениями, сопостовление статусов. дробление, объедиенение
5. Автоматизация с клиент банком ( приход средств от клиентов) расход средств поставщикам.
....
удачи.)
1. Есть бизнес логика, а она говорит что заказ не может существовать без продукта, и без клиента, а это жёсткая связь.
2. Есть подход к разработке DDD а он позволяет писать приложения не имея базы данных, опираясь на бизнес логику, поэтому если вы выдумали данные правила существования объектов, лучше не усложнять, делать как диктует бизнес