Setup lokal
Prasyarat
Section titled “Prasyarat”- Node 20 atau lebih baru dan
pnpm11. - Akses ke API publik (
navv-ci-core.navvigasi.workers.dev). Tidak perlu menjalankan backend sendiri untuk frontend.
Install
Section titled “Install”cd smash-pospnpm installMenjalankan aplikasi
Section titled “Menjalankan aplikasi”pnpm dev:retail # POS Retail (Expo, tekan w untuk web)pnpm dev:fnb # POS F&Bpnpm 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 lingkungan
Section titled “Variabel lingkungan”| 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.
Mencoba tanpa akun
Section titled “Mencoba tanpa akun”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:
- Buka backoffice, Daftar bisnis baru (retail atau restoran).
- Perangkat → Pasangkan perangkat → salin kode pairing.
- Tempel kode di layar Hubungkan perangkat pada POS.
- Staf → tambah kasir dengan PIN → POS meminta login PIN.
Perintah umum
Section titled “Perintah umum”pnpm typecheck # semua paketpnpm test # tes @smash-pos/core (vitest)pnpm build:web # export web semua aplikasiTes API ada di repo navv-ci: cd navv-ci/apps/api && pnpm test.