Django REST API - CurrencyXchange

Project Description

Following API has been create ● User Auth API for SignUp ● User Auth API for SignIn (based on Signup password) ● API to Create User Balance / Wallet ● API to Read User Balance / Wallet ● API to Update User Balance / Wallet ● API to convert currency ● API to allow users to upload a profile photo. ● API to send money in a currency and receive the same in a different currency to another User ● API to identify avg Profit and loss for the money transferred ● API to average money transferred for every weekday ● Create a PDF and send it users on successful order placement ● Setup Background Task Scheduler to send Monthly Statement

Documentation : https://documenter.getpostman.com/view/7846454/SztA78vU?version=latest#8ef74686-d32f-4802-b8e1-63d963ae315f

Instructions

  1. To start the API
  • Open your terminal
  • $ sudo easy_install pip # installs Pip package manager
  • $ pip install virtualenv # Virtualenv is a tool to create isolated Python environments.
  • $ git clone https://github.com/rahulkhairnarr/CurrencyXchange.git
  • $ source env/bin/activate # Launch the environment
  • $ cd CurrencyXchange # Browse into the project directory
  • $ python manage.py runserver # Start the server
  1. To be able to Install all required package through the terminal
  • $ pip install requirements.txt # installs required package
  1. API for user to get Token You need to generate token from admin credentials
  1. API for user to Sign up
  1. API for user to login
  • CLI: curl --location --request POST 'http://localhost:8000/api/login/'
    --header 'Authorization: "Token " + {{API Token}}'
    --data-raw '{ "username": "username", "password": "password", }'
  1. API to Create User Balance / Wallet

  2. API to Read User Balance / Wallet

  3. API to Update User Balance / Wallet

  4. API to convert currency

  5. API to allow users to upload a profile photo.

  6. API to send money in a currency and receive the same in a different currency to another User

    • CLI: curl --location --request POST 'http://localhost:8000/api/transfer/'
      --header 'Authorization: Token 072269a44c3f78470d14e55d89564641f4676c81'
      --form 'receiver=admin'
      --form 'amount=1'
  7. API to identify avg Profit and loss for the money transferred

  8. API to average money transferred for every weekday