Owner dashboard
Ringkasan kesiapan outlet dan KPI operasional memisahkan penjualan, kas diterima, piutang, appointment, work order, rental, dan pengeluaran.
Studi kasus · 01 / 08
Satu engine operasional untuk banyak pola usaha UMKM.

Platform POS multi-tenant dan multi-cabang yang menyatukan kasir, inventori, appointment, work order, rental, laporan, dan kontrol platform dalam satu arsitektur modular.
Pencapaian utama
Merancang satu engine POS untuk sembilan pola usaha UMKM, sehingga tidak perlu membangun aplikasi baru untuk setiap jenis bisnis.

01 · Konteks
Pengguna utama
Masalahnya
Aplikasi kasir UMKM sering dibuat ulang untuk setiap jenis bisnis. Akibatnya fitur cepat melebar, aturan bisnis duplikatif, dan data antar cabang sulit dijaga konsisten.
Pendekatannya
Dagangin memakai business profile sebagai preset dan capability sebagai konfigurasi. Retail, kuliner, jasa, grosir, rental, dan bisnis hibrida tetap berjalan di atas API serta aturan bisnis yang sama.
Angka kunci
02 · Peran saya
Product Engineer · Full-stack · System Design
Teknologi yang digunakan
Merancang arsitektur multi-tenant dan multi-outlet dengan isolasi data berlapis.
Membangun sistem capability yang mengatur tampilan sekaligus validasi backend untuk setiap pola usaha.
Membuat kasir Android dengan antrean offline yang aman dari transaksi ganda.
Memisahkan control plane platform dari workspace tenant, termasuk akun, permission, dan audit.
03 · Sorotan
Klik gambar untuk melihatnya lebih besar.
Geser untuk melihat semua, ketuk gambar untuk memperbesar.
01 / 04
Ringkasan kesiapan outlet dan KPI operasional memisahkan penjualan, kas diterima, piutang, appointment, work order, rental, dan pengeluaran.
Alur transaksi menyesuaikan capability aktif: varian, modifier, meja, price tier, pelanggan, pembayaran, hingga pencetakan struk.
Stok, transfer, stock count, pembelian, dan ledger pergerakan dipisahkan per tenant dan lokasi.
Laporan dirancang untuk membedakan omzet, uang yang benar-benar diterima, piutang, dan settlement yang belum selesai.
04 · Tantangan & keputusan
01 / 03
05 · Hasil
Arsitektur ini membuat produk bisa berkembang lintas vertikal tanpa membangun aplikasi baru dari nol, sambil mempertahankan isolasi tenant, role, outlet, dan audit trail.
Alur penggunaan
Arsitektur
Clients
Admin web · Kasir PWA · Android Flutter · Platform web
Application
REST API · RBAC · tenant context · domain services · events
Data
MySQL shared tenant data · Redis queue/cache · private object storage
Runtime
Nginx · PHP-FPM · worker · scheduler · Docker Compose
Model data
Tenant
id
business_profile
capabilities
Outlet
tenant_id
name
timezone
User & Role
tenant_id
role_id
permissions
Product
tenant_id
sku
type
unit
Order
outlet_id
customer_id
status
total
Payment
order_id
method
amount
status
Stock Ledger
product_id
outlet_id
direction
qty
