This project consists of an application of e-commerce with which you can consult the details of the rates.
This project was build with the latest version of Spring Boot and Java 17, adding these libraries:
- r2dbc as reactive db framework.
- spring-webflux as reactive development.
- lombok as autogenerated entity and dto fields.
- mapstruct as mapping from class to class.
- h2 and postgresql to connect and execute postgre queries.
- junit to build tests.
- wiremock to test rest calls.
For more libraries and utilities used in this project, you can check the pom.xml
- Java JDK 17.0.6
- Apache Maven 3.8.7
project
├───bootloader
├───currency
│ ├───application
│ ├───domain
│ ├───infrastructure
│ └───rest-api-definition
├───rate
│ ├───application
│ ├───domain
│ ├───infrastructure
│ └───rest-api-definition
└───pom.xml
This structure has been created where each functionality is isolated in its own module, and within each one it follows a hexagonal architecture, allowing in this way, in case of having to eliminate or inherit a type, only the module has to be reviewed in question.
See the OpenAPI documentation here with Swagger UI.