Simulation project for bank account and money transactions with Spring and Spark
- JDK 21.
- Maven 3.9.4
Technology | Purpose |
---|---|
Hexagonal architecture | I tried to follow an hexagonal clean architecture when creating this simple example. You can take a look into the project modules to see how the code was divided into application, domain and infrastructure layers. You can also take a look into the interfaces I'm using as "ports" to avoid layer couplings. |
Domain Driven Design | I tried to include some DDD patterns into this very simple example, like Entity, ValueObject or RootAggregate. |
Lombok | Helper to create builders, setters, getters, etc |
MapStruct | Helper to create mappers to pass objects between the different layers |
Spring-boot | Java framework that helps you to create a REST microservice easily . |
rest-assured | REST Assured is a Java DSL for simplifying testing of REST based services |
Go to the project root directory and execute the following command to compile, test, package and install the different artifacts in your local maven repository.
mvn clean install
Or use the embedded maven wrapper if you don't have a maven installation.
./mvnw clean install
After creating all artifacts you can run the project with the following command:
mvn spring-boot:run -pl application
Or use the embedded maven wrapper if you don't have a maven installation.
./mvnw spring-boot:run -pl application