Search code examples
mavenspring-bootvaadinmulti-module

Multi-Module Maven Project for functional independent Views


I guess I just can't find the correct search phrase for google so I try to ask the question here.

I try to setup a Maven project which should fulfill the following functional and technical requirements:

  • there should be only 1 application with 1 login for the user
  • each user can have different user roles so that he has access to different functional issues.
  • The implementation for each possible action should be made in an independent service (single responsibility principle) to avoid tight coupling over time.
  • It should be a spring-boot application with vaadin
  • The independent modules should - at the end - all use the same database when they are combined to one single app.

My question now is: Is there any guide how to setup a project where I want to implement independently the features for the different functional issues and then combine them to 1 single app with 1 login and with 1 database (the user naturally don't want to start a separate application for each functional issue)?

I want each functional issue to keep as indenpendent as possible to avoid tight coupling but I just can't figure out how I can combine them at the end of the implementation-phase to 1 single app with 1 authorization and authentication service.

Any hints to guides or names of architecture styles are appreciated.


Solution

  • Guess I was just misleaded by my idea. The real microservice approach would be to develop an own microservice which provides the UI and calls the other services via REST (or something similar).

    Microservices

    So I will develop a Maven artifact which represents the UI with authentication and authorization and lot's of other maven artifacts which then can be called over a RESTful API. If someone is interested in Single Page Applications and Micro-Apps there is a good article (unfortunately in german): Singe Page Applications and Micro-Apps