Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kejiahp/nestjs-wallet-management-system
A wallet management system with highly complex functionalities e.g. put money, get money, lock money because I have no self-control, you get the gistπ.
https://github.com/kejiahp/nestjs-wallet-management-system
cron docker nestjs paystack postgresql prisma redis
Last synced: 6 days ago
JSON representation
A wallet management system with highly complex functionalities e.g. put money, get money, lock money because I have no self-control, you get the gistπ.
- Host: GitHub
- URL: https://github.com/kejiahp/nestjs-wallet-management-system
- Owner: kejiahp
- Created: 2023-12-02T22:45:39.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-02T23:16:12.000Z (about 1 year ago)
- Last Synced: 2024-02-03T00:26:40.778Z (about 1 year ago)
- Topics: cron, docker, nestjs, paystack, postgresql, prisma, redis
- Language: TypeScript
- Homepage:
- Size: 950 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wallet management system
**NOTE:** _This project will not be completed due to paystacks limitations on starter business accounts, preventing implementation of features such as Withdrawals(payouts/tranfers). Sidenote: I learnt what i wanted to learn so π€·ββοΈ_
### On heaven and earth, I alone am honored π€
I developed this project to serve as an system allowing registered users to store money in virtual wallets, withdraw money from the wallets and lock money for a duration and release it on a specified date back into their wallets.
This project was built using a progressive nodejs framework, [Nestjs](https://nestjs.com/ 'Nestjs'), the underlying payment service's are provided by [Paystack](https://paystack.com/ 'Paystack'), as for data storage I used a Redis container for caching, a Postgres container for data persistence and Cloudinary for image storage, [Prisma](https://www.prisma.io/ 'Prisma') is my ORM of choice.
##### Pending features
- Withdrawal of money from waller.
- Track money withdrawn through webhooks.
- Send apporiate mails to users based on the webhook tracking results.
- Lock their money, escrow stuff.
- Setup dynamic schedules to hold users money for a specified period of time.
- Release users money back into there wallet once the time is right.
- I guess thats all##### Run the project
- Create a .env file in the project root directory.
- Ensure all the environment variables are provided as described in the [env.example.txt](https://github.com/kejiahp/wallet-management-system/blob/5f9d39767551b8378667a34a09ce78656535a2c0/env.example.txt, 'env.example.txt') file.
- run `docker compose up -d`
- run `npm run start:dev`
- server should be runing on [http://localhost:/api/v1](http://localhost:/api/v1)