Lewati ke konten

Setup lokal

  • Node 20 atau lebih baru dan pnpm 11.
  • Akses ke API publik (navv-ci-core.navvigasi.workers.dev). Tidak perlu menjalankan backend sendiri untuk frontend.
Terminal window
cd smash-pos
pnpm install
Terminal window
pnpm dev:retail # POS Retail (Expo, tekan w untuk web)
pnpm dev:fnb # POS F&B
pnpm dev:backoffice # Backoffice pengguna (web)
pnpm dev:order # Self-order pelanggan (web)

Port dev harus dibebaskan dulu bila sudah dipakai. Jangan membuka port baru bila server lama masih hidup.

Variabel Dipakai oleh Default
EXPO_PUBLIC_API_URL semua aplikasi https://navv-ci-core.navvigasi.workers.dev
EXPO_PUBLIC_ORDER_URL backoffice (URL QR meja) https://smash-pos-order.navvigasi.workers.dev

Nilai EXPO_PUBLIC_* terlihat publik di bundle. Jangan menaruh rahasia di sini. Token perangkat disimpan di SecureStore (native) atau localStorage (web) pada runtime, bukan di env.

Setiap POS punya tombol Coba mode demo di layar pairing. Mode demo membuat toko percobaan anonim: bisa jual, tetapi tanpa owner sehingga tanpa staf, void, dan menu F&B. Untuk alur lengkap:

  1. Buka backoffice, Daftar bisnis baru (retail atau restoran).
  2. Perangkat → Pasangkan perangkat → salin kode pairing.
  3. Tempel kode di layar Hubungkan perangkat pada POS.
  4. Staf → tambah kasir dengan PIN → POS meminta login PIN.
Terminal window
pnpm typecheck # semua paket
pnpm test # tes @smash-pos/core (vitest)
pnpm build:web # export web semua aplikasi

Tes API ada di repo navv-ci: cd navv-ci/apps/api && pnpm test.