Audit live · 16 Agustus 2026

Workflow Warung 4 Putra

Peta kerja dari pelanggan datang sampai transaksi tercatat, dibayar, atau masuk buku utang — dirumuskan dari halaman dan endpoint live warung4putra.my.id.

● Live 200 OKFastAPI :8002SQLiteOffline queue

Ringkasan sistem

Fakta yang terukur dari server dan API live

3Peran aplikasi: pembeli, kasir, admin
6Produk aktif terlihat di API live
3Tier diskon yang dapat diatur admin
0,5sRotasi QR pesanan; TTL 3 detik

Alur utama transaksi

Jalur yang disarankan: kasir sebagai titik kendali

Kenali pelanggan

Pelanggan menunjukkan kartu QR member. Kasir scan QR; bila tidak ada member, pilih Walk-in.

Pilih barang

Kasir memilih produk dan jumlah. Harga otomatis mengikuti tipe reguler atau utang.

Validasi keranjang

Total besar selalu terlihat. Sistem menghitung tier diskon hanya untuk reguler + tunai.

Proses transaksi

Kasir konfirmasi. Order dicatat ke backend; status menjadi ✅ Lunas atau 📒 Belum Lunas.

Pantau & laporkan

Admin melihat omzet, order, stok, pelanggan, utang, laporan harian, dan order kedaluwarsa.

Pembagian kerja per peran

Aplikasi tetap terpisah, data berada di backend yang sama

👤 Pembeli

  • Login/daftar dengan KTP dan PIN.
  • Melihat produk, keranjang, riwayat, QR member, dan ringkasan utang.
  • Data pelanggan tersimpan lokal untuk membantu kondisi jaringan lemah.
  • Catatan desain: self-checkout masih tersedia, tetapi alur operasional paling aman tetap lewat kasir.

🧾 Kasir — pusat operasional

  • Scan member atau pilih Walk-in.
  • Tambah produk ke keranjang dengan total besar yang selalu terlihat.
  • Scan QR pesanan 6 digit yang berganti setiap 0,5 detik.
  • Proses tunai atau utang; queue offline otomatis disinkronkan saat online.

⚙️ Admin

  • Dashboard omzet, jumlah order, status pending/expired/rejected.
  • Kelola produk, pelanggan, tipe member, dan tier diskon.
  • Melihat laporan harian/bulanan serta histori utang.
  • Order admin bersifat monitoring; aksi proses utama berada di kasir.

🗄️ Backend

  • FastAPI menerima autentikasi, produk, order, pelanggan, QR, statistik, dan utang.
  • SQLite menyimpan transaksi dan pengaturan.
  • Nginx menjadi pintu publik HTTPS; API diproxy ke port 8002.
  • Role guard membedakan admin, kasir, dan pembeli.

Arsitektur data

Bagaimana informasi bergerak di sistem

📱 HP penggunaHTML + JavaScript
cache lokal & offline queue
🔒 Nginx HTTPSwarung4putra.my.id
proxy /api/
⚡ FastAPI + SQLiteproduk · order · utang
QR · laporan · auth

Aturan bisnis yang terdeteksi

Elemen penting yang harus dijaga saat mengembangkan fitur

AreaAturanImplikasi workflow
Hargaprice untuk reguler, price_utang untuk utangKasir harus scan/menentukan tipe member sebelum menambah barang.
DiskonHanya member reguler + pembayaran tunai; tier live dari settingsWalk-in dan utang tidak boleh menerima diskon reguler.
QR order6 digit, rolling 0,5 detik, TTL 3 detikQR sederhana lebih mudah dipindai dan mengurangi replay.
Status✅ Lunas · 📒 Belum Lunas · ❌ Ditolak · ⏰ ExpiredLabel status harus konsisten di kasir, admin, dan riwayat.
PrivasiNomor pelanggan ditampilkan sebagai ****6087Masking UI dipertahankan; database tetap menyimpan nomor asli untuk kebutuhan internal.

Prioritas perbaikan

Urutan praktis berdasarkan dampak ke pengguna

P1 · pengalaman inti

Perkuat mode kasir

  • Jadikan alur kasir sebagai jalur utama.
  • Tambahkan foto profil member dan tombol UTANG besar.
  • Tambahkan konfirmasi suara/TTS untuk total dan status.
P2 · jaringan & akses

Kurangi ketergantungan CDN

  • Tailwind CDN masih dimuat di halaman utama.
  • Target pengguna berada di jaringan yang bisa lemah.
  • Bundel CSS lokal agar UI tidak berubah saat CDN gagal.
P3 · aksesibilitas

Perbesar dan sederhanakan

  • Jangan mematikan pinch-zoom untuk pengguna rabun.
  • Pertahankan tombol besar dan status berbasis ikon.
  • Utamakan foto, suara, dan sedikit teks di kasir.

Bukti audit live

Snapshot yang dipakai untuk menyusun workflow

PemeriksaanHasilMakna
Homepage200 OKFrontend pembeli dapat diakses.
mobile-kasir.html200 OKJalur kasir tersedia.
mobile-admin.html200 OKJalur admin tersedia.
GET /api/products200 · 6 itemAPI produk live merespons.
GET /api/discount-tiers200 · 3 tierKonfigurasi diskon dibaca live.
Origin service127.0.0.1:8002Uvicorn FastAPI aktif di belakang Nginx.