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 -y2. Install dependencies
sudo apt install -y python3-pip python3-dev build-essential3. 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-bridgerepository 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 venvActivate the virtual environment.
source venv/bin/activateUse
pipto install the required Python packages, including the core libraries for the G2P Bridge.python3 -m pip install \ openg2p-fastapi-common==1.1.2 \ openg2p-fastapi-auth==1.1.2 \ openg2p-g2p-bridge-example-bank-models==1.0.0 \ openg2p-g2p-bridge-example-bank-api==1.0.0Create 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:8000gunicorn "main:app" --workers 1 --worker-class uvicorn.workers.UvicornWorker --bind 127.0.0.1:8000
Setting up the Example Bank Celery
Make a new Python virtual environment.
cd openg2p-g2p-bridge/openg2p-g2p-bridge-example-bank-celery python3 -m venv venvActivate the virtual environment.
source venv/bin/activateUse
pipto install the required Python packages, including the core libraries for the G2P Bridge.python3 -m pip install \ openg2p-fastapi-common==1.1.2 \ openg2p-fastapi-auth==1.1.2 \ openg2p-g2p-bridge-example-bank-models==1.0.0 \ openg2p-g2p-bridge-example-bank-celery==1.0.0Run redis-server (if not already started)
bash sudo systemctl start redisCreate a .env file
EXAMPLE_BANK_CELERY_DB_HOSTNAME='localhost' EXAMPLE_BANK_CELERY_DB_DBNAME='bankdb' EXAMPLE_BANK_CELERY_DB_USERNAME='bankuser' EXAMPLE_BANK_CELERY_DB_PASSWORD='password' EXAMPLE_BANK_CELERY_CELERY_BROKER_URL='redis://127.0.0.1:6379/0' EXAMPLE_BANK_CELERY_CELERY_BACKEND_URL='redis://127.0.0.1:6379/0' EXAMPLE_BANK_CELERY_MT940_STATEMENT_CALLBACK_URL='http://openg2p-g2p-bridge-api/upload_mt940'Run the celery beat and worker
celery -A main.celery_app worker --loglevel=info --beat & \ celery -A main.celery_app worker --loglevel=info -Q g2p_bridge_celery_worker_tasks
Last updated
Was this helpful?

