/BankAccountSpring

Simulation project for bank account and money transactions with Spring and Spark

Primary LanguageJava

BankAccountSpring

Simulation project for bank account and money transactions with Spring and Spark

⚙️ Requirements

  • JDK 21.
  • Maven 3.9.4

📘 Technologies

Common

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

🚀 How to execute the application

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