Lewati ke konten

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 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 (/backoffice di API) untuk tim dataset yang mengisi katalog produk bersama.
  • Uang adalah integer IDR. priceMinor 3500 berarti Rp3.500; tidak dikali 100.
  • Server yang menghitung total. Klien mengirim totalMinor hanya 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.