RBAC UI/UX Specification by Business Level (L0–L4)
Dokumentasi lengkap spesifikasi UI/UX untuk semua role di setiap business level, dari Micro/Solo hingga MNC/Global.🎯 Shared Design Principles
Prinsip desain yang konsisten di semua level:Mobile-First
Semua elemen optimized untuk tap jempol kanan
Offline-Ready
SQLite local + auto-sync saat online
Zero Training
Icon intuitif, max 3 klik per transaksi
Minimal UI
Konsisten color system & typography
🎨 Visual Design System (All Levels)
Color Palette
| Element | Color | Usage |
|---|---|---|
| Primary | #7C3AED (Purple) | Buttons, headers, active state |
| Success | #10B981 (Green) | Revenue, profit, success messages |
| Danger | #EF4444 (Red) | Expense, alerts, delete actions |
| Warning | #F59E0B (Orange) | Low stock, pending approval |
| Info | #3B82F6 (Blue) | Cash balance, info messages |
| Neutral | #6B7280 (Gray) | Text, borders, disabled state |
Typography
Spacing
🧩 L0 — Micro / Solo
Target Bisnis: Warung, freelancer, usaha solo (1-3 orang)Fokus: Simplicity, offline-first, zero training needed
Setup Time: < 5 menit
L0_OWNER Role
Akses: Full (CRUD semua modul)Navigation: Bottom Navigation Bar (5 ikon)
- Dashboard
- POS / Transaksi
- Produk
- Laporan
- Pengaturan
Route:
Icon: 🏠
/dashboardIcon: 🏠
Components:
- Penjualan Hari Ini (Card besar, warna hijau)
- Total transaksi (angka besar)
- Jumlah item terjual
- Mini line chart 7 hari terakhir
- Saldo Kas (Card sedang, warna biru)
- Kas tunai
- Kas bank/e-wallet
- Icon alert jika < threshold
- Laba Harian (Card sedang, warna ungu)
- Profit margin %
- Bandingkan vs kemarin
- Icon trend (↑/↓)
Quick Actions (FAB):
- ➕ Transaksi Baru
- 📦 Tambah Produk
- 📊 Lihat Laporan
L0_CASHIER Role
Akses: Write (hanya transaksi & shift)Navigation: Bottom Navigation Bar (4 ikon)
- POS
- Produk Cepat
- Riwayat
- Tutup Kas
Route:
Icon: 💵
/posIcon: 💵
Perbedaan dari Owner:
- Tidak bisa edit harga produk
- Tidak bisa delete transaksi
- Tidak bisa lihat total laba (hanya pendapatan)
L0_VIEWER Role
Akses: Read-only (semua modul)Navigation: Bottom Navigation Bar (3 ikon)
- Dashboard
- Laporan
- Export
Route:
Icon: 📊
/dashboardIcon: 📊
Perbedaan:
- Semua tombol “Edit” disabled
- Tidak ada FAB (Quick Actions)
- Badge 🔒 di pojok kanan atas
🧩 L1 — SME
Target Bisnis: Toko retail, cafe, restaurant (5-20 orang)Fokus: Department-based, basic approval
Setup Time: 15-30 menit
Key Differences from L0:
- Multi-user dashboard: Lihat aktivitas team
- Department views: Finance, Inventory, HR tabs
- Basic approval: Approval untuk PO, SO
- Audit trail: Log aktivitas per user
- More reports: Laporan per departemen
Navigation Structure:
L1_OWN-MGR: 6 tabs (Dashboard, Finance, Inventory, HR, Reports, Settings)L1_FIN-MGR: 4 tabs (Dashboard, Finance, Reports, Export)
L1_INV-MGR: 4 tabs (Dashboard, Inventory, Reports, Export)
L1_HR-MGR: 4 tabs (Dashboard, HR, Payroll, Reports)
L1_CSH: 4 tabs (POS, Quick Products, History, Close Shift)
L1_AUD: 3 tabs (Dashboard, Audit Logs, Reports)
🧩 L2 — Enterprise
Target Bisnis: Manufaktur, distribusi, multi-branch (20-100 orang)Fokus: Multi-department, approval flow, SoD enforcement
Setup Time: 1-2 jam
Key Differences from L1:
- Advanced dashboard: KPI per departemen, drill-down analytics
- Approval workflow: Multi-level approval (L1, L2)
- SoD enforcement: UI blocks invalid role combinations
- Advanced reports: Pivot tables, custom reports
- Audit trail: Detailed logging dengan SoD validation
- Multi-branch: Branch selector, consolidation view
Navigation Structure:
L2_OWN-MGR: 8 tabs (Dashboard, Finance, Operations, Marketing, Reports, Audit, Settings, Admin)L2_ADM-BIZ: 5 tabs (Business Config, Branches, Roles, Workflows, Audit)
L2_ADM-SYS: 5 tabs (System Health, Users, Backup, Logs, Settings)
L2_FIN-AP/AR/CASH: 4 tabs (Dashboard, Transactions, Approval Queue, Reports)
L2_ACC-MGR: 4 tabs (Dashboard, Journal, Approval, Reports)
L2_APV-L1/L2: 3 tabs (Approval Queue, History, Reports)
🧩 L3 — Holding
Target Bisnis: Multi-entity, holding company (100-500 orang)Fokus: Multi-entity consolidation, domain isolation
Setup Time: 2-4 jam
Key Differences from L2:
- Entity selector: Switch between entities
- Consolidation dashboard: Group-level KPI
- Intercompany transactions: Track cross-entity flows
- Multi-currency: Currency conversion, FX management
- Group reporting: Consolidated P&L, balance sheet
- Domain isolation: Role access per entity
Navigation Structure:
L3_OWN-MGR-HLD: 8 tabs (Group Dashboard, Entities, Finance, Consolidation, Reports, Audit, Settings, Admin)L3_CONS-MGR: 4 tabs (Consolidation, Intercompany, Reports, Export)
L3_AUD-GRP: 4 tabs (Group Audit, Entity Audit, Logs, Reports)
L3_BI-MGR: 4 tabs (Dashboards, KPI Design, Reports, Export)
🧩 L4 — MNC / Global
Target Bisnis: Multi-country, public company (500+ orang)Fokus: Global governance, compliance, SSO
Setup Time: 4-8 jam
Key Differences from L3:
- Region selector: Switch between regions/countries
- Executive dashboard: C-level strategic view
- Compliance dashboard: SOX, ISO, GDPR compliance status
- Global reporting: Multi-currency, multi-country consolidation
- SSO integration: Single sign-on, MFA
- Advanced audit: Detailed SoD validation, anomaly detection
Navigation Structure:
L4_BOARD-CXO: 6 tabs (Executive Dashboard, Strategy, Compliance, Global Reports, Audit, Settings)L4_GOV-COMP: 5 tabs (Compliance Dashboard, Audit Trail, SoD Validation, Reports, Export)
L4_IT-SYS-GLB: 5 tabs (System Monitor, IAM, Security, Logs, Settings)
L4_FIN-GLB: 4 tabs (Global Finance, Consolidation, Reports, Export)
📱 Navigation Patterns by Level
L0 Bottom Navigation
L1 Bottom Navigation (Owner)
L2 Top Navigation (Tabbed)
L3 Sidebar Navigation
L4 Sidebar Navigation (Advanced)
🧪 Component Library (All Levels)
Core Components
MetricCard
MetricCard
ProductCard
ProductCard
TransactionCard
TransactionCard
ApprovalCard
ApprovalCard
🔄 Offline-First Strategy (All Levels)
Local Database (SQLite/Isar)
Sync Indicator
✅ Feature Matrix by Level
| Feature | L0 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|---|
| Dashboard KPI | ✅ | ✅ | ✅ | ✅ | ✅ |
| POS Transaction | ✅ | ✅ | ✅ | ✅ | ✅ |
| Product CRUD | ✅ | ✅ | ✅ | ✅ | ✅ |
| Reports | ✅ | ✅ | ✅ | ✅ | ✅ |
| Approval Flow | ❌ | ⚠️ | ✅ | ✅ | ✅ |
| Multi-User | ❌ | ✅ | ✅ | ✅ | ✅ |
| Multi-Department | ❌ | ✅ | ✅ | ✅ | ✅ |
| Multi-Entity | ❌ | ❌ | ❌ | ✅ | ✅ |
| Multi-Country | ❌ | ❌ | ❌ | ❌ | ✅ |
| SSO/MFA | ❌ | ❌ | ❌ | ❌ | ✅ |
| Compliance Dashboard | ❌ | ❌ | ❌ | ❌ | ✅ |
| Offline Mode | ✅ | ✅ | ✅ | ✅ | ✅ |
📱 Mobile Implementation by Role (mstore_mobile)
Setiap role memiliki implementasi spesifik di Flutter mobile app. Berikut mapping antara role dan features yang accessible:L0 Roles
L0_OWNER
Features di mstore_mobile:- ✅ Dashboard (full metrics)
- ✅ Cashier (POS transactions)
- ✅ Inventory (product CRUD)
- ✅ Reports (all reports)
- ✅ Settings (full configuration)
mstore_mobile/lib/features/
dashboard/- Full dashboard dengan KPIcashier/- POS systeminventory/- Product managementreport/- All reportssetting/- Configuration
L0_CASHIER
Features di mstore_mobile:- ✅ Cashier (POS only)
- ✅ Quick Products (favorites)
- ✅ Transaction History (view only)
- ✅ Shift Management (close shift)
- ❌ Settings (disabled)
- ❌ Reports (disabled)
mstore_mobile/lib/features/
cashier/- POS transactionstransaction_history/- View onlyshift/- Shift management
L0_VIEWER
Features di mstore_mobile:- ✅ Dashboard (read-only)
- ✅ Reports (view & export)
- ❌ Cashier (disabled)
- ❌ Inventory (disabled)
- ❌ Settings (disabled)
mstore_mobile/lib/features/
dashboard/- Read-only viewreport/- View & export
L1 Roles
L1_OWN-MGR
Features di mstore_mobile:- ✅ Dashboard (team activity)
- ✅ Finance (full access)
- ✅ Inventory (full access)
- ✅ HR (full access)
- ✅ Reports (all reports)
- ✅ Settings (full)
mstore_mobile/lib/features/
dashboard/- Team dashboardapproval/- Approval queueinventory/- Full managementemployee/- HR managementreport/- All reports
L1_FIN-MGR
Features di mstore_mobile:- ✅ Dashboard (finance only)
- ✅ Finance (transactions, approval)
- ✅ Reports (finance reports)
- ❌ Inventory (disabled)
- ❌ HR (disabled)
mstore_mobile/lib/features/
dashboard/- Finance metricsapproval/- Finance approvalsreport/- Finance reports
L1_CSH (Cashier)
Features di mstore_mobile:- ✅ Cashier (POS)
- ✅ Quick Products
- ✅ Transaction History
- ✅ Shift Management
- ❌ Reports (disabled)
- ❌ Settings (disabled)
L2+ Roles
L2_OWN-MGR
Features di mstore_mobile:- ✅ Dashboard (enterprise KPI)
- ✅ Finance (multi-department)
- ✅ Operations (full)
- ✅ Approval (multi-level)
- ✅ Reports (consolidated)
- ✅ Audit (full access)
L2_ADM-SYS
Features di mstore_mobile:- ✅ Settings (system config)
- ✅ User Management
- ✅ Backup/Restore
- ✅ Audit Logs
- ❌ Business features (disabled)
L2_APV-L1/L2 (Approver)
Features di mstore_mobile:- ✅ Approval Queue (priority)
- ✅ Approval History
- ✅ Reports (approval metrics)
- ❌ Other features (disabled)
🔐 Role-Based Access Control Implementation
Feature Flag Pattern
Shared Features
Beberapa features digunakan oleh multiple roles dengan UI yang berbeda:| Feature | L0_OWNER | L0_CASHIER | L0_VIEWER | L1_OWN-MGR | L1_CSH | L1_AUD |
|---|---|---|---|---|---|---|
| Dashboard | ✅ Full | ❌ | ✅ Read | ✅ Full | ❌ | ✅ Read |
| Cashier | ✅ Full | ✅ Full | ❌ | ✅ Full | ✅ Full | ❌ |
| Inventory | ✅ Full | ❌ | ❌ | ✅ Full | ❌ | ❌ |
| Reports | ✅ Full | ❌ | ✅ Read | ✅ Full | ❌ | ✅ Read |
| Approval | ❌ | ❌ | ❌ | ✅ Full | ❌ | ❌ |
🚀 Implementation Roadmap
-
Design Phase:
- Buat Figma mockup berdasarkan spec ini
- Design system (colors, typography, components)
- Prototype interactive flow per level
-
Development Phase:
- Implement UI components (Flutter)
- Integrate dengan backend API
- Implement offline-first logic
- Role-based UI rendering
-
Testing Phase:
- User testing dengan stakeholder per level
- Performance testing (offline mode)
- Accessibility testing
- SoD enforcement testing (L2+)
📞 Related Documentation
RBAC Architecture
Role definitions & architecture
Bruno API Collections
API endpoints by role
Approval Flow
Multi-level approval workflow
File ini siap digunakan sebagai referensi untuk Figma design dan Flutter implementation di semua business levels.