Getting Started
Prerequisites
- Python 3.10+
- PostgreSQL
- Redis
- Node.js 18+ (for Ops UI and dbt docs)
- AWS credentials (for S3 access)
Installation
1. Install Python dependencies
bash
./venv/bin/pip install -r requirements.txt2. Configure credentials
bash
cp config.py.sample config.pyEdit config.py with your actual values:
| Config | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
REDIS_URL | Redis connection string |
FINERACT_* | Fineract base URL and credentials |
AWS_* | AWS access key, secret, region |
INTERNAL_ORCHESTRATION_TOKEN | Token for service-to-service auth |
3. Initialize database tables
Run this once to create all required schemas and tables:
bash
python scripts/init_all_tables.pyOr individually:
bash
./venv/bin/python scripts/init_s3_file_log_table.py
./venv/bin/python scripts/init_webhook_tables.py
./venv/bin/python scripts/init_fineract_api_log_table.py4. Configure dbt
Create ~/.dbt/profiles.yml:
yaml
fineract_engine:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
port: 5432
user: postgres
password: ""
dbname: fineract
schema: raw
threads: 4
sslmode: preferValidate the connection:
bash
cd dbt/
dbt debugSee DBTSETUP.md for full details.
Database Schemas
| Schema | Purpose |
|---|---|
| RAW | Source data as-is: CSV loads, webhook JSON, Fineract audit logs, S3 file tracking |
| BASE | dbt-transformed incremental models (standardized, deduplicated) |
| CORE | Business logic layer - loan master, transaction data, repayment queue |
Next Steps
- Running the Application - start all services
- Architecture - understand the system design
- API Reference - explore the API endpoints