https://github.com/sophyia7/fintech-api
Fintech API is a project that explains the basic functionality of most fintech apps or software in the world. This project only offers API access to the primary function.
https://github.com/sophyia7/fintech-api
Last synced: about 2 months ago
JSON representation
Fintech API is a project that explains the basic functionality of most fintech apps or software in the world. This project only offers API access to the primary function.
- Host: GitHub
- URL: https://github.com/sophyia7/fintech-api
- Owner: Sophyia7
- Created: 2022-04-25T16:05:06.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-06T12:31:02.000Z (over 1 year ago)
- Last Synced: 2025-03-28T12:11:08.083Z (2 months ago)
- Language: Python
- Homepage:
- Size: 80.1 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fintech System
This is built using Django and Django Rest Framework.
## Problem Statement:
This system is called a Fintech System because it is the primary function of basic fintech app that lets user invest and have rights to withdraw their invest anytime; although admin must proccess any transaction before user can make another one.
## Available Routes:
**Authentication Routes**
- [x] Register: User can register and sends user a verification token.
- [x] Login: User can log in with the right information.
- [x] Confirm-Email: User can send a confirmation email to their email address.
- [x] Reset-Password: User can reset password by sending a reset password email token.
- [x] Logout: User's token will be deleted when they log out.**Investment Routes**
- [x] Investment: User can deposit money to the wallet.
The only restriction is that the admin must process the transaction before user can make a new transaction.
- [x] Status: Users can check the status of their last deposit transaction.
- [x] Total Amount: Users can check the total amount of all deposit transactions in the wallet.**Withdraw Routes**
- [x] Withdraw: User can withdraw money from their wallet.
The only restriction is that the admin must process the transaction before user can make a new transaction.
- [x] Status: Users can check the status of their last deposit transaction.
- [x] Total Withdraw: Users can check the total amount of all withdraw transactions in the wallet.**Other Routes**
- [x] Balance: Users can check the balance of wallet.
- [x] Transaction: Users can check their transaction records.**Pending Routes**
- notifications with signal (in progress): Users will get notified of their current transactions.
- KYC verification (in progress): Users will need to verify their identity before they can create an account.## What I learned from this project
- Always put important information in .env variables. You can use it in your codebase this by installing the `python-dotenv()` then call it in `settings.py`. You set it by passing `os.getenv("name_ofinformation")`
- When you create an API to save transactions for a user, use `.save()` Failure to do so, Information will be validated, and it will give a success message but won’t be held to DB because there is no User to save the info to.
- When creating SMTP server on gmail, make sure to set an app password first. then use that as your password.
- When you run into a difficult error, talk to your mouse about the problem and a solution will pop up. Trust me! Or copy the error message to the browser.**Note:**
You will need to set SMTP authentication details to send email to users for authentication purposes.