The BANK application is a microservice-based banking management system developed using Java, Spring Boot, Spring Cloud, Spring Security and Axon Framework.
- Discovery-service: Spring Eureka Server
- Gateway-service: Spring Cloud Gateway
- Notification-service: Management and sending of notifications via email
- User-service: User management, roles, and authentication
- Customer-service: Bank customers management
- Account-Service: Management of customers' bank accounts, developed using CQRS and Event Sourcing Architecture
- Bank-ui: User interface, developed with Angular, available here
- Bank-admin-ui: Super administrator user interface for creating other users and managing their roles, available here, developed with Angular
- Java: JDK 21
- Angular: 17.3.3
- Spring Boot: v3.3.0
- Axon Framework V4.9.3
- Axon Server
- MySQL
Start the microservices in the order listed above. When starting the user-service
for the first time, the super administrator is created. Please check the startup logs to retrieve the password and authenticate using SUPER_ADMIN
as the username. You must change the password thereafter.
- Discovery-service
- Gateway-service
- Notification-service
- User-service
- Customer-service
- Account-service
- Bank-ui
- Bank-admin-ui
- Bank-ui: GitHub Repository
- Bank-admin-ui: GitHub Repository
Brody Gaudel MOUNANGA BOUKA
Contributions are welcome! If you would like to contribute to this project, please fork the repository and use a feature branch. Pull requests are warmly welcome.
- Fork the repository
- Create a feature branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a new Pull Request
Feel free to contribute, raise issues, or suggest enhancements. Your feedback is highly appreciated!
- Axon Server on : https://lp.axoniq.io/downloads/axon-server
- Axon Framework : https://www.axoniq.io/