Example Bank

Installation of Example Bank Simulator on a developer machine

Developers can set up and run the G2P Bridge Example Bank Simulator on their local machines. This guide outlines the steps to install the same on a Linux-based laptop or desktop.

Prerequisites

  • Python3

  • Git

  • PostgreSQL

  • Redis

  • Celery

Installation of Example Bank Simulator

1. Update system packages

  • Log in to your Linux server using SSH and update the package list and upgrade the existing packages:

sudo apt update
sudo apt upgrade -y

2. Install dependencies

sudo apt install -y python3-pip python3-dev build-essential

3. Install and configure PostgreSQL

  • G2P Bridge requires PostgreSQL as the database engine. Install PostgreSQL (if not already installed) and create a new database user for G2P Bridge.

    sudo apt install -y postgresql
    sudo su - postgres
    CREATE ROLE bankuser WITH LOGIN NOSUPERUSER CREATEDB CREATEROLE INHERIT REPLICATION CONNECTION LIMIT -1 PASSWORD 'password';
    CREATE DATABASE bankdb WITH OWNER = bankuser CONNECTION LIMIT = -1;
    exit

4. Clone the G2P Bridge Repository

  • Clone the openg2p-g2p-bridge repository to your local machine.

    git clone https://github.com/OpenG2P/openg2p-g2p-bridge-example-bank

5. Install Python Libraries and G2P Bridge Components

Setting up the Bridge API

  • Make a new Python virtual environment.

    cd openg2p-g2p-bridge/openg2p-g2p-bridge-example-bank-api
    python3 -m venv venv
  • Activate the virtual environment.

    source venv/bin/activate
  • Use pip to install the required Python packages, including the core libraries for the G2P Bridge.

    python3 -m pip install \
        openg2p-fastapi-common==1.1.1 \
        openg2p-fastapi-auth==1.1.1 \
        openg2p-g2p-bridge-example-bank-models==1.0.0 \
        openg2p-g2p-bridge-example-bank-api==1.0.0
  • Create a .env file

    EXAMPLE_BANK_DB_HOSTNAME='localhost'
    EXAMPLE_BANK_DB_DBNAME='bankdb'
    EXAMPLE_BANK_DB_USERNAME='bankuser'
    EXAMPLE_BANK_DB_PASSWORD='password'
    EXAMPLE_BANK_CELERY_BROKER_URL='redis://127.0.0.1:6379/0'
    EXAMPLE_BANK_CELERY_BACKEND_URL='redis://127.0.0.1:6379/0'
  • Migrate the database schema

    python3 main.py migrate; 
  • Run the API server on 127.0.0.1:8000

    gunicorn "main:app" --workers 1 --worker-class uvicorn.workers.UvicornWorker --bind 127.0.0.1:8000

Last updated

Logo

Copyright © 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.