Skip to content

BANA

Next-Generation POS Platform

Decree 70/2025Bun + HonoVNPAYE2E Encrypted

The modern sales management system built for Vietnamese businesses. Full Decree 70/2025 compliance with real-time e-invoicing, multi-channel payments, and end-to-end encrypted communications — all on a blazing-fast Bun + Hono stack.

55+DB Models
7Schemas
12Services
4Payments
100%Tax Ready

Core Modules

📦Products & Catalog

Product aggregates with variants and SKUs, dynamic pricing engine with fare rules, category templates, multi-merchant catalog support

🛒Orders & Checkout

Full order lifecycle (draft → completed), auto-merge cart items, partial payments, refund workflows, MQ-Pay payment integration

📊Inventory

Multi-location stock tracking, purchase order workflow, 20+ audit tracking types, on-hand vs available vs reserved quantities

💳Payments

VNPAY QR, NFC card (Phone POS), Smart POS, cash and bank transfer — multi-provider orchestration with webhook dispatch and retry

🧾Tax & E-Invoicing

Real-time e-invoicing via T-VAN and IIAPI, VAT/POS/sale invoice types, digital signatures, OTP verification, full audit trail

👤Identity & Auth

JWT and Basic auth strategies, 5-level RBAC, employee management, email verification with rate limiting, organizer/merchant mapping

Platform Highlights

🏛️

Decree 70/2025 Ready

Full Vietnam tax compliance with real-time e-invoicing through T-VAN and IIAPI connectors, digital signature support, and complete audit trails

Bun-Powered Performance

Built on Bun runtime with Hono web framework and IGNIS DI container — sub-second response times across all microservices

💳

Multi-Provider Payments

VNPAY QR, NFC card, Smart POS, cash, and bank transfer — with BullMQ job queues, auto-expiration, and IPN webhook handling

🔒

E2E Encrypted WebSocket

ECDH-P256 key exchange with AES-256-GCM encryption, Redis pub/sub for cross-instance delivery, JWT-authenticated handshake

🔍

Real-Time Search

Typesense integration with CDC sync from PostgreSQL, automatic filter conversion, multi-collection registry for instant product search

💰

Finance & Wallets

Multi-wallet tracking (cash, bank, ewallet, credit card), income/expense categories, event-driven transaction recording via BullMQ

Architecture

Backend

  • Runtime: Bun (TypeScript-native)
  • Framework: IGNIS (DI, lifecycle)
  • Web: Hono (ultra-fast routing)
  • ORM: Drizzle + PostgreSQL
  • Cache: Redis (single & cluster)
  • Queue: BullMQ (partitioned)
  • Search: Typesense (CDC sync)
  • IDs: Snowflake generator
  • Validation: Zod schemas

Frontend

  • Web: React 19 + Vite 7
  • Styling: TailwindCSS 4
  • UI: Radix UI + shadcn
  • State: Redux Toolkit + TanStack
  • Admin: ra-core framework
  • Desktop: Tauri 2 (Rust + WebView)
  • POS: Barcode, USB, NFC
  • i18n: English + Vietnamese
  • Shared: admin-ui-kit + core

Infrastructure

  • Services: 12 microservices
  • Events: Redis pub/sub
  • WebSocket: ECDH E2E encrypted
  • Storage: Minio (S3-compatible)
  • Payments: MQ-Pay orchestration
  • Invoicing: T-VAN + IIAPI
  • Auth: JWT + Basic + RBAC
  • DB: 7 PostgreSQL schemas
  • Docs: VitePress + AI Chat

Built For

🏢

Business Users

  • Complete POS solution for retail, F&B, and ticketing
  • Multi-merchant and multi-organizer support
  • Vietnam tax compliance (Decree 70/2025) out of the box
  • Real-time inventory, sales reports, and financial tracking
  • VNPAY QR, NFC, Smart POS payment acceptance
👨‍💻

Developers

  • TypeScript monorepo with strict DI (IGNIS Framework)
  • Drizzle ORM with 55+ models across 7 schemas
  • Modular packages — each independently deployable
  • Comprehensive API docs, Swagger, and architecture diagrams
  • Tauri 2 desktop app with Rust backend and custom plugins

Developer Packages

@nx/core55 DB models, base classes, auth middleware, Snowflake IDs, Zod schemas
@nx/identityUser auth (JWT/Basic), sign-up/sign-in, RBAC, email verification
@nx/commerceProduct aggregates, dynamic pricing engine, merchant onboarding
@nx/saleOrder lifecycle, cart management, checkout, MQ-Pay integration
@nx/inventoryMulti-location stock, purchase orders, 20+ tracking types
@nx/financeWallets, income/expense tracking, event-driven transactions
@nx/paymentPayment orchestration, webhook configs, credential encryption
@nx/signalWebSocket service, ECDH E2E encryption, Redis pub/sub
@nx/mq-payVNPAY QR/NFC/Smart POS, BullMQ queues, IPN handling
@nx/searchTypesense integration, CDC sync, filter conversion

Applications

🖥️ Admin Client

28-screen dashboard: products, orders, inventory, finance, invoices, merchants, users, reports, settings. Redux Toolkit + TanStack Table.

📋 Back Office

Simplified admin for merchant and organizer management. 5 focused screens, same underlying React 19 + Vite 7 stack.

🖨️ POS Desktop

Tauri 2 desktop app with Rust backend, barcode scanning, USB peripherals, NFC reader, offline-capable SQLite, external display.

Get Started

Choose your language to explore the full documentation — system overview, module guides, API references, and architecture diagrams.

Bun • Hono • PostgreSQL • Drizzle • Redis • BullMQ • React 19 • Vite 7 • TailwindCSS 4 • Tauri 2 • Typesense • Minio • Zod • IGNIS

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.