BPOS is a full-featured, mobile-first Point of Sale web application designed for both retail and restaurant businesses. It runs entirely client-side as a serverless React SPA backed by Firebase Firestore — no custom backend required.
Key Features:
- Cashier / POS: Camera-based barcode scanning, product search, cart management, automatic promo discount calculation, checkout with cash/non-cash payment, payment proof photo capture, and receipt generation (PNG + shareable public URL).
- Product Management: CRUD with complex variation groups (single/multiple selection, price deltas), bulk price/stock editing, price history tracking, stock management with low-stock alerts, and expiry tracking.
- Promotion System: Percent, fixed amount, and BOGO discounts with active date ranges, product targeting, priority, stackable flags, and auto-apply at cashier with best-discount logic.
- Restaurant Mode: Open orders dashboard with real-time status tracking (ordered → preparing → served → paid), table management with QR codes, customer QR ordering page, and configurable fulfillment modes (table service / self pickup).
- Team & Permissions: Multi-store support, role-based access control with granular permissions, email invitation system, and invitation inbox.
- Dashboard & KPI: Revenue dashboard (today/overall/average), staff KPI tracking per day with CSV export, and retroactive KPI backfill.
- Google Drive Integration: Payment proof photos uploaded to Google Drive with auto-compression and public sharing.
- Audit Logging: 19 tracked action types with before/after snapshots and field-level change tracking.
- Offline Support: Transactions queued in localStorage when offline, auto-synced on reconnect.
- PWA: Installable as a home screen app with splash screens.
Tech Stack:
- Frontend: React 18, Vite 5, TailwindCSS 4
- Backend/Database: Firebase Firestore (direct client SDK, no server)
- Authentication: Firebase Auth (Google OAuth)
- Barcode Scanning: ZXing (camera-based)
- Receipt Generation: html2canvas
- File Storage: Google Drive REST API v3
- PWA: vite-plugin-pwa
Architecture:
Completely serverless — all business logic runs in the browser. Data access goes directly to Firebase Firestore, governed by Firestore security rules for access control. No custom API servers or cloud functions.