We are a bank and would like to modernize our Account Management system in our Retail Banking. We would like to use Micro Service architecture to replace the monolith application. The system is supposed to contain the following functionalities:
Create a Savings Account for the CustomerDeposit money to AccountWithdraw money from AccountRead available balanceList last 10 transactions of the Account
You are expected to create a solution that exposes REST APIs for the mentioned functionalities by using a test-driven approach in a publicly shared GitHub repository. The REST API must be able to handle exceptions such as invalid input, as well as business validations from a common-sense perspective. You should use git commit messages to show your thoughts and decisions during the development phase.
- Java 17
- Junit 5
- Spring-boot
- Gradle
- How will you design/organize the micro services for your API product?
- How will you break down the business requirements into user stories?
- The API models and interfaces are generated via the build
- Contract can be found in
src/main/resources/api/contract.yml
This will generate the API models, build the artifact and test the project
gradlew clean build
This will regenerate the API models only
gradlew clean compileJava
- Try the API via the Swagger UI
- Import
src/main/resources/api/contract.yml
into Postman