Platform Engineering Guide
Welcome to the Lana platform engineering documentation. This section is for technical teams evaluating or deploying the platform.
System Overview
Lana is a modern banking core built on:
- Hexagonal Architecture - Clean separation between domain logic, application services, and infrastructure
- Event Sourcing - Complete audit trail of all state changes
- Domain-Driven Design - Business logic organized around banking domain concepts
- GraphQL APIs - Flexible, strongly-typed API layer
Documentation
System Architecture
- System Architecture - System layers and component overview
- Functional Architecture - Comprehensive technical architecture
- Authentication Architecture - Keycloak, OAuth 2.0, gateway design
Data Pipelines
- Data Pipelines - Meltano, dbt, BigQuery
Data Models
- ERD Overview - Database schema documentation
- Cala Ledger Schema - Underlying ledger database
- Lana Core Schema - Main application database
Release Engineering
- Release Engineering Overview - End-to-end release flow
- Build System - Nix, Cachix caching, Docker images
- CI/CD & Release Engineering - GitHub Actions, Concourse pipelines, Helm charts, Cepler environment gating
tip
Looking for domain internals, event sourcing, background jobs, or observability? See the Internal Developer Guide — those topics have moved there.
Technology Stack
| Component | Technology |
|---|---|
| Backend | Rust |
| APIs | GraphQL (async-graphql) |
| Ledger | Cala (double-entry accounting) |
| Database | PostgreSQL |
| Events | Event sourcing with outbox pattern |
| Authentication | OAuth 2.0 / OpenID Connect |