POS System — Modern Point of Sale PWA
← Kembali ke etalase
Web DevelopmentSoftware EngineeringUI/UX DesignShowcase
Information System (Web/Mobile)E-commerce & Retail DigitalUMKM & Ekonomi Lokal

POS System — Modern Point of Sale PWA

Sistem kasir (POS) multi-toko berbasis Next.js dan PostgreSQL, dibangun dengan standar integritas transaksi dan keamanan setingkat aplikasi finansial produksi — bukan sekadar CRUD. Mencegah overselling lewat row-level locking, transaksi ganda lewat idempotency key, dan menjaga laporan keuangan historis tetap akurat lewat snapshot harga. Installable sebagai PWA untuk dipakai langsung di tablet kasir.

Dipublikasikan: 15 September 2026

Alur Asesmen Tripartit

  1. 1Mahasiswa
  2. 2Koordinator
  3. 3Industri
  4. 4Selesai
Cakupan: ringkasan masalah & deskripsi saja — bagian lain halaman tetap Bahasa Indonesia.

Masalah yang Diselesaikan

Banyak sistem kasir sederhana rentan terhadap race condition (dua kasir menjual stok terakhir yang sama), transaksi ganda akibat double-klik, dan laporan keuangan yang "berubah sendiri" saat harga produk diedit di kemudian hari. Project ini menyelesaikan masalah-masalah tersebut lewat locking database, idempotency key, dan snapshot data pada saat transaksi terjadi.

Tentang Project

POS PWA adalah sistem kasir untuk bisnis retail/F&B yang mencakup seluruh alur operasional toko: manajemen produk & stok, transaksi kasir, laporan keuangan, hingga analitik bisnis otomatis (health score, SWOT). Awalnya dibangun di atas Google Apps Script + Google Sheets, lalu di-rebuild total menjadi aplikasi full-stack modern (Next.js 15, TypeScript, PostgreSQL via Supabase, Drizzle ORM, Auth.js). Setiap checkout dibungkus dalam satu database transaction dengan row-level locking untuk mencegah overselling, idempotency key untuk mencegah transaksi ganda, dan snapshot harga/kategori agar laporan historis tidak berubah saat data produk diedit. Aplikasi ini juga installable sebagai PWA sehingga bisa dipakai di tablet kasir tanpa membuka browser, dan mendukung multi-tenant penuh — satu aplikasi melayani banyak toko sekaligus dengan isolasi data ketat per kode toko.

Cara Berpikir di Balik Project Ini

Bukti proses berpikir kontributor mengerjakan project ini — bukan cuma hasil akhirnya.

Kenapa pendekatan ini

awalnya saya memakai Laravel untuk project ini, tapi begitu masuk ke tahap deploy ke Vercel, saya terus-menerus terbentur berbagai error yang sulit diselesaikan di lingkungan hosting tersebut. Setelah mencoba beberapa kali dan tidak kunjung stabil, saya memutuskan untuk pindah ke Next.js

Bagian tersulit

saya stuck saat di awal memakai laravel, di tahap tinggal deploy terjadi banyak error sehingga saya pindah ke next js

Yang dipelajari

di project ini saya belajar untuk mematangkan konsep terlebih dahulu sebelum memulai eksekusi prompt

Galeri

Video Demo

Teknologi

Next.jsTypeScriptTailwind CSSPostgreSQLDrizzle ORMAuth.jsSupabaseVercel
Lihat demo langsung ↗

Mungkin Juga Menarik untuk Anda

Karya lain dari bidang yang sama.