
2024 · A multi-tenant POS system for cafes — floor plan, inventory, and sales reports synced in real time via Firebase.
Sistem Kasir
- Year
- 2024
- Status
- live
- Makers

- Rizkan Yazid
- Tags
- pos
- saas
- firebase
- cafe
- inventory
The Problem
Small cafe owners juggle paper-based orders, manual stock counts, and no visibility into which tables are occupied — a cashier taking an order has no way to know if the kitchen already closed a tab, leading to double charges and lost revenue.
The Solve
Sistem Kasir gives each cafe its own isolated tenant workspace synced over Firestore, so the owner sees live floor-plan state while the cashier processes orders and the stock staff logs inventory — all from the same web app with role-gated PIN login.
The trade-off: using anonymous Firebase Auth keeps setup near-zero but means data lives under a shared public collection path, acceptable for small single-location cafes.
Screens
App Flow
- 01Owner registers via SuperAdmin panel
- 02Tenant workspace created in Firestore with isolated collection paths
- 03Cashier logs in with PIN
- 04Routed directly to interactive floor plan view
- 05Cashier selects table and adds products
- 06Order recorded and table marked occupied in real time
- 07Order closed / payment taken
- 08Transaction saved, daily sales report updated automatically
- 09Stock staff logs inventory purchase
- 10Expense recorded against stock ledger for owner review
Under the Hood
- React 18
- Vite
- Firebase Firestore
- Firebase Auth
- Tailwind CSS
There is no server-side row-level security; instead every tenant's data lives under its own Firestore collection using the pattern `{collection}_{tenantId}`. Simple to implement in a single-file React app, but it means Firestore rules must guard the prefix pattern — a deliberate trade-off of simplicity over strict security boundaries.
Changelog
Fixed globalUsers not persisted to localStorage — cashier/staff login broke after page refresh or on a different device.
Moved Firebase config to environment variables.
Initial release: floor plan, product catalog, inventory, transactions, and role-based PIN login.
More from foya.foya

Wedding Invitation
A digital wedding invitation platform with multi-theme builder, RSVP, QR check-in, and digital envelope.
- wedding
- invitation

Monitoring System
Precision multi-tenant project dashboard for real-time logistics monitoring and debt management.
- SaaS
- Logistics

Ayo Belajar Bicara
An offline-first PWA that turns speech therapy drills into a playful game for Indonesian-speaking toddlers.
- kids
- speech-therapy