← All systems
P–05 / 07

Case study / Full-stack application

Khmer Banking

A database-backed application designed around a practical financial workflow.

CategoryFull-stack applicationStackNext.js · TypeScript · Prisma · PostgreSQL · KHQRLicenseMITSourceGitHub ↗

Overview

What the system is

A full-stack digital banking application with deep Bakong KHQR integration for the Cambodian market — managing balances, transfers, and spending behind secure authentication flows.

Capabilities

What it does

  • 01Bakong KHQRGenerate and scan Bakong-compatible KHQR codes for payments in the Cambodian market.
  • 02Secure transfersPeer-to-peer transfers and external account management.
  • 03Dynamic dashboardReal-time balance, spending trends, and recent activity with Recharts analytics.
  • 04PDF statementsGenerate and download professional statements of transaction history.
  • 05Auth flowsNextAuth.js v5 authentication with OTP verification and password reset.
  • 06Dark modeFully responsive design with native dark-mode support.

Engineering

Decisions on record

Framework
Next.js 15+ App Router with TypeScript and Tailwind CSS 4.
Data
PostgreSQL on Neon via Prisma ORM.
Auth
NextAuth.js v5 with OTP and password-reset flows.
UI & email
Shadcn UI + Radix primitives; Resend for transactional email.