Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chandan-mourya/payment-wallet-application
Onine Payment Wallet Application where you can send and receive money and pay different bills. it is Rest Api of payment wallet application-java, 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.
https://github.com/chandan-mourya/payment-wallet-application
java jdbc lambok mysql mysql-database postman spring spring-boot springweb validation
Last synced: 13 days ago
JSON representation
Onine Payment Wallet Application where you can send and receive money and pay different bills. it is Rest Api of payment wallet application-java, 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.
- Host: GitHub
- URL: https://github.com/chandan-mourya/payment-wallet-application
- Owner: Chandan-Mourya
- Created: 2022-08-22T16:35:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-19T18:21:21.000Z (over 2 years ago)
- Last Synced: 2024-11-15T06:31:18.161Z (2 months ago)
- Topics: java, jdbc, lambok, mysql, mysql-database, postman, spring, spring-boot, springweb, validation
- Language: Java
- Homepage:
- Size: 130 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Payment-Wallet-Application
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.
### This is a collaborative project, completed by a team of 6 backend developers at Masai School.
# Collaborators
- [Chandan Mourya](https://www.github.com/Chandan-Mourya)
- [Shubham Mishra](https://github.com/Shubham-46)- **Services Offered**
1. User can Login and Signup.
2. Adding money to wallet from bank.
3. Transfer money to different users.
4. User can get all transaction history, bill payments.
5. User can pay Bills- **Backend**
1. Built authentication while login and logout using key.
2. Stored the data on MySQL and used it for Authentication.
# Tech Stack
# Modules
- Login and Signup Module
- Wallet Module
- Account Module
- Customer Module
- Bill Payment Module
- Transaction Module
- Beneficiary Module
- Bank Account Module
## User Features
- customer can validate their login.
## Customer Features
- 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.
## Wallet Features
- 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.
## Bank Accounts Features
- Can add,delete,update Bank Accounts in their wallet
- Can transfer money from Bank Accounts to wallet
## Bill Payment Features
- Customer can add bill payment.
- Customer can view bill payment.
## Transaction Features
- Customer can add new transaction.
- Customer can view all transaction.
- Customer can view transaction by date.
- Customer can view lis of all transaction.
# Installation & Run
- 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=8080spring.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
```# ER Diagram :
![erd_final_walletapp](https://user-images.githubusercontent.com/90818364/185763697-0448e426-d5db-429f-84f6-e5774ebc9491.png)