BPOS adalah aplikasi Point of Sale web lengkap dan mobile-first yang dirancang untuk bisnis retail dan restoran. Berjalan sepenuhnya di sisi klien sebagai SPA React serverless yang didukung oleh Firebase Firestore — tidak memerlukan backend kustom.
Fitur Utama:
- Kasir / POS: Scanning barcode via kamera, pencarian produk, manajemen keranjang, perhitungan diskom promo otomatis, checkout dengan pembayaran cash/non-cash, foto bukti pembayaran, dan pembuatan struk (PNG + URL publik yang bisa dibagikan).
- Manajemen Produk: CRUD dengan grup variasi kompleks (single/multiple selection, delta harga), edit bulk harga/stok, riwayat perubahan harga, manajemen stok dengan notifikasi stok rendah, dan pelacakan kedaluwarsa.
- Sistem Promo: Diskon persen, nominal tetap, dan BOGO dengan rentang tanggal aktif, targeting produk, prioritas, flag stackable, dan auto-apply di kasir dengan logika diskon terbaik.
- Mode Restoran: Dashboard open orders dengan pelacakan status real-time (ordered → preparing → served → paid), manajemen meja dengan QR code, halaman order QR pelanggan, dan mode fulfillment yang bisa dikonfigurasi (table service / self pickup).
- Tim & Permissions: Dukungan multi-toko, kontrol akses berbasis peran dengan izin granular, sistem undangan email, dan inbox undangan.
- Dashboard & KPI: Dashboard pendapatan (hari ini/keseluruhan/rata-rata), pelacakan KPI staff per hari dengan ekspor CSV, dan backfill KPI retroaktif.
- Integrasi Google Drive: Foto bukti pembayaran diunggah ke Google Drive dengan auto-compression dan berbagi publik.
- Audit Logging: 19 jenis aksi yang dilacak dengan snapshot before/after dan pelacakan perubahan per-field.
- Dukungan Offline: Transaksi di-queue di localStorage saat offline, auto-sync saat kembali online.
- PWA: Dapat diinstal sebagai aplikasi home screen dengan splash screens.
Tech Stack:
- Frontend: React 18, Vite 5, TailwindCSS 4
- Backend/Database: Firebase Firestore (SDK klien langsung, tanpa server)
- Autentikasi: Firebase Auth (Google OAuth)
- Scanning Barcode: ZXing (berbasis kamera)
- Pembuatan Struk: html2canvas
- Penyimpanan File: Google Drive REST API v3
- PWA: vite-plugin-pwa
Arsitektur:
Sepenuhnya serverless — semua logika bisnis berjalan di browser. Akses data langsung ke Firebase Firestore, dikontrol oleh aturan keamanan Firestore untuk kontrol akses. Tidak ada server API kustom atau cloud functions.