Skip to content

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.

Notifications You must be signed in to change notification settings

Sophyia7/Fintech-API

Repository files navigation

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

  • Register: User can register and sends user a verification token.
  • Login: User can log in with the right information.
  • Confirm-Email: User can send a confirmation email to their email address.
  • Reset-Password: User can reset password by sending a reset password email token.
  • Logout: User's token will be deleted when they log out.

Investment Routes

  • 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.
  • Status: Users can check the status of their last deposit transaction.
  • Total Amount: Users can check the total amount of all deposit transactions in the wallet.

Withdraw Routes

  • 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.
  • Status: Users can check the status of their last deposit transaction.
  • Total Withdraw: Users can check the total amount of all withdraw transactions in the wallet.

Other Routes

  • Balance: Users can check the balance of wallet.
  • 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.

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages