Hybrid Distributed POS — Point of Sale Offline-First
- Laravel
- Vue.js
- IndexedDB
- WebSocket
- Capacitor
- Bootstrap
- WhatsApp API
- REST API
Masalah yang dipecahkan: kasir di cabang sering kehilangan transaksi karena jaringan mobile tidak stabil, sementara manajemen butuh data terpusat secara real-time.
Pendekatannya offline-first. Katalog produk, shift kasir aktif, dan tabel transaksi disimpan lokal di IndexedDB lewat Dexie.js, sehingga kasir tidak pernah berhenti melayani. Sinkronisasi memakai topologi upsert non-destruktif: struk offline yang tertunda dikirim ke cloud Laravel sambil menarik state database remote, sehingga tidak ada entri ganda maupun data hilang.
- Mekanisme tutup shift harian memakai double-key fallback untuk menggabungkan pendapatan lokal dan cloud.
- Void transaksi dikunci di balik OTP 6 digit yang dikirim ke pemilik via WhatsApp, mencegah kecurangan di sisi kasir.
- Cetak struk thermal via Bluetooth pada wrapper Capacitor, dan approval kas kecil otomatis lewat WebSocket.