Skip to content

SudodevsHQ/betsushi

Repository files navigation

Betsushi

Betsu (別), the japanese word meaning "another" and Shiharai (支払い) meaning "payment". Hence the name Betsushi was derived.


Introduction

This is the backend for Indi>Pe a submission for FTX Hackathon'21, an application that can provide Indian UPI (Unified Payments Interface) to the people of foreign nationality.

Team members:

Aayush Dongre (dankre#7878) Anurag Patil (source#5843) Ayush Singh (epinephrine69#4257) Kunal Sharma (kunal#4839)

Technologies used:

  • PostgreSQL for the database
  • Docker to containerize the application for easy deployments
  • Python as the programming language of choice
  • Starlette, the library used to build the REST and the websocket services
  • Firebase Admin to authorize the user, which was authorized by the client.

Razorpay services used:

  • RazorpayX Payouts
  • Razorpay Smart Collect
  • Razorpay International payment Gateway

Deployment

Prerequisites:

  • Should have created a Firebase Project
  • A valid docker installation
  1. Rename the file .env.example to .env and populate the file with valid values.
  2. Change the following values in the docker-compose.yaml file to their respective valid values:
    • GOOGLE_APPLICATION_CREDENTIALS env variable in the service app to the correct path of the service-account json file
    • Proper values for environment variables in the service postgres
  3. Spin up the containers
    sudo docker-compose up --build -d
    This will install all the necessary dependencies required for the python server as well as start a postgresql instance
  4. Make a database called indipe in the postgresql instance and run the initial schema migrations from schema/init.sql
  5. Voila! You are ready to go!

Flow Diagrams:

Send payment Receive payment Top-up wallet