Ringkasan sistem
Smash POS terdiri dari dua repo:
| Repo | Isi | Dikerjakan oleh |
|---|---|---|
navv-ci |
API Cloudflare Workers (navv-ci-core), backoffice tim dataset, MCP + agent (navv-ci-intelligence) |
Backend dan dataset |
smash-pos |
Empat aplikasi Expo + paket bersama @smash-pos/core + dokumentasi ini |
Frontend POS |
flowchart LR
subgraph FE["Repo smash-pos"]
R["apps/retail<br/>POS Retail"]
F["apps/fnb<br/>POS F&B"]
O["apps/order<br/>Self-order pelanggan"]
B["apps/backoffice<br/>Backoffice pengguna"]
C["packages/pos-core<br/>klien, outbox, UI bersama"]
R --> C
F --> C
end
subgraph BE["Repo navv-ci"]
API["navv-ci-core<br/>Hono + D1 + R2 + Workers AI"]
BD["/backoffice<br/>khusus tim dataset"]
I["navv-ci-intelligence<br/>MCP + agent"]
end
R --> API
F --> API
O --> API
B --> API
I --> API
Aplikasi di smash-pos
Section titled “Aplikasi di smash-pos”| Aplikasi | Pengguna | URL live |
|---|---|---|
apps/retail |
Kasir toko | smash-pos-retail.navvigasi.workers.dev |
apps/fnb |
Kasir restoran/kafe | smash-pos-fnb.navvigasi.workers.dev |
apps/order |
Pelanggan restoran | smash-pos-order.navvigasi.workers.dev/<slug> |
apps/backoffice |
Owner dan manajer | smash-pos-backoffice.navvigasi.workers.dev |
| API | Semua aplikasi | navv-ci-core.navvigasi.workers.dev |
Dua backoffice berbeda dan tidak berbagi UI atau peran:
- Backoffice pengguna (
apps/backoffice) untuk owner/manajer satu bisnis. - Backoffice dataset (
/backofficedi API) untuk tim dataset yang mengisi katalog produk bersama.
Prinsip yang berlaku di semua aplikasi
Section titled “Prinsip yang berlaku di semua aplikasi”- Uang adalah integer IDR.
priceMinor3500 berarti Rp3.500; tidak dikali 100. - Server yang menghitung total. Klien mengirim
totalMinorhanya sebagai pemeriksaan; selisih ditolak (TOTAL_MISMATCH). - Transaksi tidak pernah diubah diam-diam. Item disimpan sebagai snapshot nama dan harga saat transaksi.
- Tidak ada fitur keuangan. Tidak ada pengeluaran, biaya, laba rugi, atau buku kas. Laporan hanya penjualan operasional.
- Pelanggan dan kasir mengonfirmasi. Hasil suara, pencocokan menu, dan pencarian produk tidak pernah masuk otomatis tanpa konfirmasi.