Architecture
This section explains Lana's system architecture, authentication model, functional architecture, and data models.
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
Architecture Topics
System Architecture
- System Architecture - System layers and component overview
- Functional Architecture - Comprehensive technical architecture
- Authentication Architecture - Keycloak, OAuth 2.0, gateway design
Data Models
- ERD Overview - Database schema documentation
- Cala Ledger Schema - Underlying ledger database
- Lana Core Schema - Main application database
tip
Looking for domain internals, event sourcing, background jobs, or observability? See the Developer Guide.
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 |