Skip to content

rickyraz/kovra

Repository files navigation

Kovra

B2B Cross-border payment rails platform for Indonesian exporters.

Architecture

Polyglot Microservices with Orthogonal Design

kovra/
├── backend/          # Go - Core payment services
├── compliance/       # Python + Mojo - KYC/AML screening
├── docs/            # Documentation
├── migrations/      # Database migrations (shared)
└── docker-compose.yml  # Orchestration

Services

Service Technology Responsibility Port
backend Go 1.24+ Payment processing, FX, ledger 8080
compliance Python 3.12 + Mojo KYC/AML screening 8000
postgres PostgreSQL 15 Shared database 5455
redis Redis 7 Cache & sessions 6380
tigerbeetle TigerBeetle Double-entry ledger 3000

Quick Start

Prerequisites

  • Docker & Docker Compose
  • Go 1.24+ (for local backend dev)
  • Python 3.12+ (for local compliance dev)

Run with Docker Compose

# Start all services
docker compose up -d

# Start without compliance (standalone mode)
COMPLIANCE_MODE=standalone docker compose up -d backend postgres redis tigerbeetle

# View logs
docker compose logs -f backend
docker compose logs -f compliance

Local Development

Backend (Go):

cd backend
go mod download
go run ./cmd/api

Compliance (Python):

cd compliance
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

Design Principles

  1. Orthogonal Services: Backend and Compliance are independent
  2. Polyglot Architecture: Use best tool for each domain
  3. Zero Dependencies: Core functionality works without external APIs
  4. Event-Driven: Services communicate via HTTP + shared database

Documentation

See docs/README.md for full documentation structure.

License

[Your License]

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors