/kwikpay

Wallet implemented using Python/ Django/ REST

Primary LanguagePython

Wallet Service

Wallet Service implemented with Python/ Django/ REST.

It exposes API's for :

  • Get Wallet Balance

  • Deposit to wallet (with and without promotional code)

  • Withdraw from wallet

  • Get wallet Mini-statement.

  • Validate Promotional Code.

  • List all registered accounts. (Admin)

  • List all transaction history (Paginated).

For now, creation of wallet is handled through admin.

Requirements:

  • Python==3.7.6

  • Django==2.2.3

  • django-fsm==2.6.1

  • django-fsm-admin==1.2.4

  • djangorestframework==3.10.0

  • gunicorn==19.9.0

  • pytz==2019.1

  • sqlparse==0.3.0

Uses SqLite3 database. Can be extended easily to use any database.

Steps to run server:

pip3 install -r requirements.txt

python3 manage.py migrate

python3 manage.py runserver

Server would be available at http://127.0.0.1:8000/

Testing:

python3 manage.py test

Demo:

A demo is hosted on micro Amazon EC2 instance.

http://ec2-3-17-206-5.us-east-2.compute.amazonaws.com/

Postman collection :

https://www.getpostman.com/collections/2d05a02e039b4e599e2b