This application implements the 'Round-Up' feature for Bank customers using the Starling Bank public developer API. This project is built as a personal project to demonstrate the implementation of a practical use-case using spring-boot framework.
The application implements the following functionalites:
- It fetches all the accounts and account details such as the accountId, type and amount details.
- All the settled transactions per account for a given week are fetched. These transactions are rounded up to their nearest pound and the total round up difference is calculated per account.
- This calculated round up difference is transferred to a newly created savings goal.
- To test the application sign-up for the Starling developer account here.
- Create an API application here.
- Create a sandbox customer for the application here.
- Click auto-simulate button to create 30 transactions on the customer account.
- Copy the access token of the customer to run the application.
The project can be built and executed locally using the steps outlined below:
- git clone https://github.com/Supreetha-V/SavingsGoalApplication.git
- Run the application SavingsGoalApplication.
- Send POST request to "http://localhost:8080/savings-goal/create/{start-date}" endpoint with a valid start date and authentication token to create a savings goal and add the round up difference amount from the transaction feed to the savings goal. For example: curl -X POST http://localhost:8080/savings-goal/create/2022-07-15T17:20:36.123Z -H 'token: {accessTokenForSandBoxAPI}'
- The response should have the accountId, savingsGoalUid, transferUid and the amount in minorUnits and currency added to the savings goal.