Skip to content

A wallet system that handles multiple currencies and user levels

Notifications You must be signed in to change notification settings

ooakhu/Wallet-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wallet Application

A wallet system built with django and contanerized with docker. This system would only be accessible to authenticated users.

Status

This project is under active development and has not been deployed yet

Built With

Description

A wallet system for a product that handles multiple currencies.

User types

Noob

  • Can only have one wallet in a single currency selected at signup (main).
  • All wallet funding in a different currency should be converted to the main currency.
  • All wallet withdrawals in a different currency should be converted to the main currency before transactions are approved.
  • All wallet funding has to be approved by an administrator.
  • Cannot change main currency.

Elite

  • Can have multiple wallets in different currencies with a main currency selected at signup.
  • Funding in a particular currency should update the wallet with that currency or create it.
  • Withdrawals in a currency with funds in the wallet of that currency should reduce the wallet balance for that currency.
  • Withdrawals in a currency without a wallet balance should be converted to the main currency and withdrawn.
  • Cannot change main currency

Admin

  • Cannot have a wallet.
  • Cannot withdraw funds from any wallet.
  • Can fund wallets for Noob or Elite users in any currency.
  • Can change the main currency of any user.
  • Approves wallet funding for Noob users.
  • Can promote or demote Noobs or Elite users

As a User

  • Using the API endpoints Make requests to register a user, add wallet, fund wallet and make withdrawals.

As an Admin using the hosted API

  • Hit the login endpoint using the following admin credentials
email= testadmin@walletsystem.com
password= 01234Admin
  • Or hit the register admin endpoint to register an admin.
  • Login with admin email and password
  • Hit the promote user endpoint to promote a Noob to Elite.
  • Hit the demote user endpoint to demote an Elite.
  • Hit the approve transactions endpoint to approve withdrawal transactions for Noob users.

About

A wallet system that handles multiple currencies and user levels

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published