This project is about Building REST APIs for online payment wallet application which can be used by customers for different services.
The unique features of this project is We have implemented user validation at every step that will based upon authenticated unique key, for every user. And we are are following proper architecture based design that's allow us to write neat and clean code.
We have written the business logic in such a way that at any step we can easily access current customer with the help of key and we can implement the required logic as per need.
-
Services Offered
- User can Login and Signup.
- Adding money to wallet from bank.
- Transfer money to different users.
- User can get all transaction history, bill payments.
- User can pay Bills
- Backend
- Built authentication while login and logout using key.
- Stored the data on MySQL and used it for Authentication.
- Login and Signup Module
- Wallet Module
- Account Module
- Customer Module
- Bill Payment Module
- Transaction Module
- Beneficiary Module
- Bank Account Module
- customer can validate their login.
- Customer can login in the application and update their information using their username and password.
- Customer can add account to wallet.
- Customer can delete account from wallet.
- Customer can view account of wallet.
- Customer can view list of all account to wallet.
- User can create new wallet account.
- Track a user’s wallet balance.
- User can add money to wallet account.
- Allow a user to transfer money to another user/account.
- Keep a history of last N transactions.
- Can add,delete,update Bank Accounts in their wallet
- Can transfer money from Bank Accounts to wallet
- Customer can add bill payment.
- Customer can view bill payment.
- Customer can add new transaction.
- Customer can view all transaction.
- Customer can view transaction by date.
- Customer can view lis of all transaction.
- Before running the API server, you should update the database config inside the application.properties file.
- Update the port number, username and password as per your local database configuration.
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/walletdb;
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root