REST API for an online payment wallet application which can be used by bank customers for different services like creating a bank account, log in and Sign Up to an account, creating a wallet from a bank account, adding money to a wallet, Bill payment from a wallet, get transaction details from a wallet, etc.
- User can Login and Signup.
- Create Bank account and wallet.
- Delete Bank account.
- Adding money to wallet.
- Money Transfer from one wallet to another wallet.
- Any Bill payments from wallet.
- User can see transactions details from wallet.
- CashBack Section.
- Java
- Hibernate
- Spring Framework
- Spring Boot with JPA
- MySQL
- Maven
- Lombok
- Swagger UI
- Gaurav Jaiswal-> Authentication, Customer, BankAccount, CashBack
- Suresh Jungade->Wallet, UserSession
- vamsi Krishna->Beneficiary
- Shubham Kumar->BillPayment
- Chandan Kumar Sharma ->Transaction
Following ER diagram indicates the database tables and thier interaction which we are using.
- Authentication
- Bank Account
- Customer
- Wallet
- Bill Payment
- Cashback
- Transactions
- Beneficiary
Install and connect with database
#db specific properties
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=12345
Run the following command on swagger UI
- User can login and SignUp.
- User can logout.
- User can create the bank account.
- User can get the account details.
- User can delete the account details.
- Customer can save the details with bank.
- Customer can update the details with bank.
- User can seen the wallet balance.
- User can add the money to the wallet.
- User can transfer the money from wallet.
- User can pay any bill from wallet.
- User can get all bills details.
- User can get the cashback whenever they pay the bills in range of 5% to 25%.
- User can seen the transaction details with date wise.
- User can see the transaction details with wallet user.
- User can see all the transaction details.
- Need to improve the Beneficiary like connection with wallet.