An example of the use of some design concerns to "simulate" a bank
- DDD
- Hexagonal Architecture
- JWT
- REST
Technology:
- Spring Boot
- Spring MVC
- Spring Data
- Spring Rest
- In memory database h2
Features:
- Create a user
- Create a wallet
- Do a deposit in a user wallet
- Visualize a wallet
- Transfer from wallet A to wallet B
The project can be build with maven or with mvn-wrapper
?> ./mvnw package
To run, first build then
?> java -jar target/banking-0.0.1-SNAPSHOT.jar
Test are in the folder src/test can be executed with
?> mvn package test
It's posible to access a h2 console to show records in a database
http://localhost:8080/h2-console
Can execute some REST with the swagger ui by the next url
http://localhost:8080/swagger-ui/index.html