This application does nothing more that an exercises to apply two concepts: Code Clean architecture and API Contract First
I took the Code Clean architecture idea from this repo . It's a good example and have a lot of resources to check
It's a maven monorepo with the application split in several layers.
- Core: keep all the business layer
- Dataproviders: keep the layer in charge of data persistence
- Api: the different delivery layers implemented. The idea is to have different layers with different technologies like exercise: REST API, gRPC, GraphQL and different frameworks.
For the exercise of autoimmunization of from API contract go here
The tools that I have used and the specific versions:
- Apache Maven 3.8.4
- Java Openjdk 11.0.14
- Postman
Compile with next command:
mvn clean install
You can run the application with different API technologies.
mvn -f ./application/api/springboot/pom.xml spring-boot:run
mvn -f ./application/api/micronaut/pom.xml mn:run