Welcome to the BforBank MoneyPot Microservice. This project is a part of the technical test for BforBank's internship program. The microservice is designed to manage a "MoneyPot" for each customer. Every time a customer makes a purchase, the merchant can add a certain amount to the customer's MoneyPot. The customer can check their MoneyPot at any time to see if it is available. A MoneyPot is considered available if the customer has made at least 3 purchases and has a minimum of €10 in their MoneyPot.
The microservice is built using Java, Spring Boot, SQL, and Maven. It exposes a REST API for managing the MoneyPots.
- Add rights management with a canExecute method at usecase level
- Add Deployment
- Add environment management (to prepare deployment)
- Add E2E tests
- Add coverage check to prevent pull request to be merged if test coverage is not enough
- Add a small front to interact with the API
- Java 17
- Maven
- Clone the repository to your local machine.
git clone git@github.com:MisterAzix/technical-test-bforbank.git- Navigate to the project directory.
cd technical-test-bforbank- Build the project using Maven.
mvn clean install- Launch database using Docker.
docker-compose up -d- Run the application.
mvn spring-boot:runProject available at http://localhost:8080
- View moneypot containing 15€ and 3 transactions, available is true
- View moneypot containing 20€ but only 2 transactions, available is false
- Adding money to moneypot
- View a not found moneypot
- Maxence BREUILLES (@MisterAzix)