Developer Documentation
BANA is a next-generation Point of Sale platform for Vietnamese household and small businesses (F&B, retail, services). It is a Bun monorepo built on the IGNIS Framework (dependency-injection microservices), with Tauri desktop/handheld apps and a React web stack. New to the product? See What is BANA?
Canonical facts live on Platform Facts
The service registry, counts, the dependency stack and the messaging seam (Kafka + Debezium CDC, not Redis pub/sub) are maintained on Platform Facts, generated from source. This page links to the detail pages - it never restates a version, port or count.
Start here
| Guide | What you'll learn |
|---|---|
| Getting Started | Clone, install, build, and run your first service |
| Build System | Makefile targets, dependency graph, Docker builds |
| Environment Reference | Every environment variable across all services |
| Git Workflow | Branching, commits, MRs, code review, glab |
| IGNIS Patterns | Application hierarchy, DI, controller factory, model patterns |
Architecture & reference
| Page | What it covers |
|---|---|
| System Architecture | Service registry, dependency chain, schema mapping, component matrix |
| Event Architecture | Kafka events, Debezium CDC, WebSocket topics, HTTP webhooks |
| Database Guide | 14 PostgreSQL schemas, Drizzle ORM, migration workflow |
| Testing Guide | Bun test runner, preload mocking, mock factories |
| Security | Trust boundaries, auth, PII handling, hardening |
| Platform Facts | Canonical registry, counts, dependency stack, infra versions |
System at a glance
Full topology, dependency graph and the Issuer/Verifier hierarchy: System Architecture. Live service registry: Platform Facts.
Backend packages
18 IGNIS packages share @nx/core (base classes, 14 DB schemas, utilities). Full catalogue with ports, roles and dependencies: Backend Packages Overview.
| Area | Packages |
|---|---|
| Foundation | core |
| Identity & catalog | identity · commerce · search · asset |
| Selling | sale · pricing · inventory |
| Money & compliance | payment · finance · ledger · invoice · taxation |
| Platform | signal · outreach · licensing · gateway · helpdesk |
Frontend apps & integrations
| Surface | Where |
|---|---|
| Frontend apps (POS, back office, UI kit) | Applications · Frontend Patterns |
| Third-party integrations (VNPAY payments, e-invoice, T-VAN) | Integrations |
| Deployment, cluster, observability | Infrastructure |
Where to go next
| You are a… | Start with |
|---|---|
| New backend developer | Getting Started → Core → IGNIS Patterns |
| Frontend developer | Applications → Frontend Patterns |
| SRE / DevOps | Infrastructure → Platform Facts |
| Integration developer | Integrations → Event Architecture |