Это очень специфический вопрос, и никто не может дать вам точный ответ без полных требований.Поскольку я работаю над ERP, я постараюсь дать вам подсказки о том, как мы сделали наш ERP динамичным.Это все о database design
Во-первых, у вас должен быть гибкий Role-Permission
модуль на Spring Security
, который может работать для любого типа пользователя.Как вы можете создать несколько Roles
, Role
может иметь несколько Permissions
, а User
может иметь несколько Roles
.Это поможет вам контролировать вещи / функции на более низком уровне.
USER<----ManyToManyBridge--->ROLE<----ManyToManyBridge--->PERMISSION
изменение покоя должно вызывать изменение внешнего интерфейса
Этого можно добиться, задав разные значения Roles
- Users
для разных модулей и основываясь на этом.Вы можете перенаправить их на разные dashboard/jsps
после входа в систему с помощью CustomSuccessHandler
Какая рекомендуемая структура проекта?
Хорошо иметь отдельные пакеты для модулейно я бы предпочел более широко используемую структуру MVC
на root
.
Root/
- Controller
-- Module1
--- Controller
--- Controller
-- Module2
--- Controller
--- Controller
- Model
-- Module1
--- Model
--- Model
-- Module1
--- Model
--- Model
- Repository
...
...
- Service
...
...
- WEB-INF
-- Views
--- Module1
---- .jsp
---- .jsp
--- Module2
---- .jsp
---- .jsp
Список вещей, которые вы должны держать в уме при разработке ERP
, будет продолжать расти, но самое важное - это ваша база данных , а не только структура проекта, и все зависит от требований бизнеса.