
Banking
Round Up functionality for daily transactions using Starling Bank API - Divy Bramhecha
-
Divy B
- January 6, 2023
Round Up App for Starling Bank, using the Starling API
This app allows you to create savings goals and round up your purchases to the nearest pound, and transfer the difference to your savings goal for the last 7 days.
It allows you to neatly see how much you have saved, and how much you have spent.
Built using the Starling API, and the Starling Developer Sandbox.
Technologies Used
- Frontend
- React
- Typescript
- Material UI
- Axios
- Backend (API)
- Java
- Spring Boot
- Gson
- Maven
How to run
- Clone the repo
- Install Node (16 or higher) and NPM (7 or higher)
- Install Java (17 or higher) and Maven
- Make sure ports 3000 and 8080 are free
- Create starling developer sandbox account
- Create a customer in the sandbox
- Copy the customer access token, and paste it into the
start.sh
file, replacing theSTARLING_API_TOKEN
value. - Alternatively, you can copy the customer access token, and paste it into the
round_up/src/main/java/com/starling_project/round_up/Constants.java
file, replacing theSTARLING_API_TOKEN
value.
run ./start.sh
from the root directory to install dependencies both frontend and backend depedencies and start frontend and backend.
How to use app - demo video loom (click to play)
Loom Message - 21 December 2022 - Watch Video
How the app works
- The app uses the Starling API to:
- Get the customer’s details
- Their main account details
- Their balance
- Savings goals api to create, view, and delete savings goals
- Savings goals api to add money to a savings goal
- Transactions api to get the last 7 days of transactions
- Transactions api to add user notes to a transaction (to mark it as a round up transaction)
- Uses the above APIs in the Java backend to create a REST API which exposes the following endpoints:
/api/accountDetails
- returns the customer’s details, and their main account details/api/createSavingsGoal
- creates a new savings goal/api/deleteSavingsGoal
- deletes a savings goal/api/getSavingsGoal
- returns the customer’s savings goals, and its balances/api/addMoneyToSavingsGoal
- adds money to a savings goal/api/getTransactions
- returns the customer’s last 7 days of transactions/api/roundUpTransactions
- rounds up the customer’s last 7 days of transactions, and transfers the difference to the savings goal, and adds a user note to the transaction to mark it as a round up transaction
- Frontend uses the above REST API to:
- Display the customer’s details, and their main account details
- Display the customer’s savings goals, and its balances
- Create a new savings goal
- Delete a savings goal
- Add money to a savings goal
- Display the customer’s last 7 days of transactions
- Round up the customer’s last 7 days of transactions, and transfer the difference to the savings goal, and add a user note to the transaction to mark it as a round up transaction.
App Demo Screenshots