It is a Spring Boot-based microservices demo for a banking application. It simulates common banking operations such as login, logout, account management, and transaction history using Spring Cloud's service registry and REST APIs.
- Show how a Java EE monolith can be broken into microservices
- Demonstrate service discovery using Netflix Eureka
- Provide a REST-based backend (does not include a frontend UI)
- Serve as a backend prototype for a banking web or mobile app
Eureka Server Database Service Login Service Logoff Service Account Service
Run command
mvn clean installNeed to start the services one by one to make sure it works correctly.
Run command
java -jar ./eurekaserver/target/eurekaserver-1.0.0.jarEureka Server is running at port 8761
To access eureka dashboard: http://localhost:8761
Run command
java -jar ./databaseservice/target/databaseservice-1.0.0.jarDatabase Service is running at port 8080
To access swagger: http://localhost:8080/swagger-ui.html
Database Server is using H2 as data storage
To access H2 console: http://localhost:8080/h2-console
Driver class: org.h2.Driver
JDBS url: jdbc:h2:mem:jeespb
User name: sa
Password: pw
By default, the sample data will be generated when starting the service.
To disable generate data, adding the parameter
-Ddata.generator.enabled=false
The sample data as the requirement is stored in folder
databaseservice/src/main/resources/data
Including 4 json files
users.json
accounts.json
transactions.json
rewards.json
Run command
java -jar ./loginservice/target/loginservice-1.0.0.jarLogin Service is running at port 8081
To access swagger: http://localhost:8081/swagger-ui.html
Run command
java -jar ./logoffservice/target/logoffservice-1.0.0.jarLogoff Service is running at port 8082
To access swagger: http://localhost:8082/swagger-ui.html
Run command
java -jar ./accountservice/target/accountservice-1.0.0.jarAccount Service is running at port 8083
To access swagger: http://localhost:8083/swagger-ui.html