🛒 Mini POS — Point of Sale System
Aplikasi manajemen kasir & inventoris modern berbasis **TypeScript Monorepo**, **Next.js 16**, **Hono.js**, **Drizzle ORM**, dan **Cloudflare Edge Infrastructure (Workers + D1)**. Menghadirkan transaksi atomik server-side, kalkulasi presisi integer, dan snapshot riwayat harga mutlak (*immutable*).
**Mini POS** dirancang sebagai proyek penilaian teknis (*technical assessment test*) yang mengambil konsep aplikasi kasir minimarket modern (seperti Alfamart/Indomaret). Meskipun merupakan proyek skala ringkas (*mini project*), arsitektur dan kualitas kodenya dibangun dengan **Fintech Grade Standards** untuk menangani integritas transaksi keuangan, validasi stok atomik, dan immutabilitas catatan riwayat harga.

Interactive Cart, Catalog CRUD & Real-time Stock Sync
Antarmuka kasir bersih dengan tema Dark Glassmorphic. Menampilkan katalog produk aktif, filter stok real-time, kalkulasi keranjang belanja instan di client, dan modal verifikasi checkout atomik.
Client hanya mengirimkan productId dan qty. Server Hono.js mengambil harga resmi dari database D1, memvalidasi sisa stok, dan menghitung total harga di backend secara atomik.
Nama & harga unit disimpan secara snapshot di tabel transaction_items saat checkout. Jika harga produk di katalog berubah di kemudian hari, riwayat transaksi lama tetap utuh (*immutable*).
Seluruh nilai mata uang Rupiah disimpan dan dihitung dalam bentuk **Integer**, menghindari potensi bug pembulatan angka desimal khas JavaScript (0.1 + 0.2 !== 0.3).
Di-deploy secara utuh pada infrastruktur gratis Cloudflare (Workers, D1, Pages) tanpa perlu langganan VPS/server terpisah, dengan latency respon di bawah 50ms.
- id: integer (PK)
- name: text
- price: integer (IDR)
- stock: integer
- isActive: integer (0/1)
- createdAt: datetime
- id: integer (PK)
- total: integer (IDR)
- createdAt: datetime
- transactionId: FK
- productId: FK
- productNameSnapshot: text
- priceSnapshot: integer
- qty: integer
- subtotal: integer
Next.js App Router dengan Static Export ke Cloudflare Pages. Rendering instan dan pengelolaan state keranjang belanja yang halus.
Framework REST API ultra-fast di Edge network. Menangani routing, validasi transaksi atomik, dan proteksi manipulasi stok.
Database SQLite serverless terdistribusi di Edge. Schema type-safe dengan migrasi otomatis dan performa query sangat cepat.
Automated test suite untuk menguji kalkulasi harga, validasi stok, serta integritas snapshot sebelum deployment.