12 Modules Architecture
MStore Dashboard menggunakan arsitektur modular dengan 12 domain modules yang mencakup seluruh kebutuhan bisnis ERP.Module Overview
Module Summary
| # | Module | Domain | Description | Business Level |
|---|---|---|---|---|
| 01 | 01_core | Core | Auth, notifications, settings | L0+ |
| 02 | 02_finance | Finance | Invoice, payment, AR/AP, ledger | L1+ |
| 03 | 03_inventory | Inventory | Products, stock management | L0+ |
| 04 | 04_procurement | Procurement | PO, suppliers, approvals | L0+ |
| 05 | 05_sales | Sales | POS, transactions, receipts | L0+ |
| 06 | 06_hr | HR | Employees, payroll, attendance | L1+ |
| 07 | 07_crm | CRM | Customers, campaigns, leads | L1+ |
| 08 | 08_cs | Customer Service | Tickets, SLA, chat | L1+ |
| 09 | 09_audit | Audit | Audit logs, compliance | L2+ |
| 10 | 10_analytics | Analytics | Dashboards, KPI, reports | L2+ |
| 11 | 11_holding | Holding | Multi-entity, consolidation | L3+ |
| 12 | 12_global | Global | IAM, security, policies | L4 |
Business Levels
| Level | Name | Description |
|---|---|---|
| L0 | Micro/Solo | Single owner, cashier |
| L1 | SME | Managers, supervisors |
| L2 | Enterprise | Auditors, analysts |
| L3 | Holding | Multi-entity management |
| L4 | MNC | Global administrators |
Module Details
01_core - Core Foundation
01_core
Purpose: Authentication, notifications, dan system settingsSubmodules:
auth/- Login, logout, token managementnotifications/- Push notifications, alertssettings/- User preferences, app configuser/- User profile, roles
- JWT authentication
- Role-based access control (RBAC)
- Real-time notifications
- Theme preferences
02_finance - Finance Management
02_finance
Purpose: Manajemen keuangan, invoice, dan pembayaranSubmodules:
invoice/- Pembuatan dan tracking invoicepayment/- Metode pembayaran, reconciliationar/- Accounts Receivable (piutang)ap/- Accounts Payable (hutang)ledger/- General ledger, trial balancecashflow/- Cash flow management
- Multi-currency support
- Tax calculation
- Payment gateway integration
- Financial reports
03_inventory - Inventory Management
03_inventory
Purpose: Manajemen produk dan stokSubmodules:
product/- Product master, categoriesstock/- Stock levels, warehousesadjustment/- Stock opname, variancetransfer/- Inter-warehouse transfer
- Multi-warehouse support
- Barcode/SKU management
- Stock alerts (low stock)
- Batch/serial tracking
04_procurement - Procurement
04_procurement
Purpose: Purchase order dan supplier managementSubmodules:
po/- Purchase Order creation, trackingrfq/- Request for Quotationsupplier/- Supplier master, contactsapproval/- Multi-level approval workflow
- Supplier comparison
- PO approval workflow
- Goods receipt
- Supplier performance tracking
05_sales - Sales & POS
05_sales
Purpose: Point of Sale dan transaksi penjualanSubmodules:
pos/- POS interface, cartcheckout/- Payment collectionreceipt/- Receipt printingtransaction/- Transaction historyreturn/- Sales return handlingshift/- Shift management
- Offline-capable POS
- Multiple payment methods
- Thermal printer support
- Real-time stock update
06_hr - Human Resources
06_hr
Purpose: Employee management dan payrollSubmodules:
employee/- Staff directory, profilesattendance/- Check-in/out, timesheetleave/- Leave requests, balancepayroll/- Salary, deductions
- Attendance tracking
- Leave management
- Payroll calculation
- Employee documents
07_crm - Customer Relationship
07_crm
Purpose: Customer management dan marketingSubmodules:
customer/- Customer databasecampaign/- Marketing campaignslead/- Lead trackingloyalty/- Loyalty program
- Customer segmentation
- Campaign management
- Lead pipeline
- Points/rewards system
08_cs - Customer Service
08_cs
Purpose: Customer support dan ticketingSubmodules:
ticket/- Support ticketschat/- Real-time messagingsla/- SLA trackingkb/- Knowledge base
- Ticket management
- Multi-channel support
- SLA monitoring
- Self-service portal
09_audit - Audit & Compliance
09_audit
Purpose: Audit trail dan complianceSubmodules:
log/- Activity loggingcompliance/- Compliance reportingsod/- Segregation of Dutiesreport/- Audit reports
- Full audit trail
- Compliance checklists
- SoD validation
- Regulatory reports
10_analytics - Analytics & BI
10_analytics
Purpose: Business intelligence dan reportingSubmodules:
dashboard/- KPI dashboardsreport/- Custom reportskpi/- Key performance indicatorsforecast/- Sales forecasting
- Real-time dashboards
- Custom report builder
- KPI tracking
- Predictive analytics
11_holding - Multi-Entity
11_holding
Purpose: Multi-company dan consolidationSubmodules:
entity/- Entity registryconsolidation/- Financial consolidationintercompany/- Intercompany transactions
- Multi-entity management
- Consolidated reporting
- Intercompany elimination
- Group-level analytics
12_global - Global Administration
12_global
Purpose: Global settings dan securitySubmodules:
iam/- Identity & Access Managementsecurity/- Security policiespolicy/- Business rules (OPA)esg/- ESG compliance
- SSO integration
- Policy management
- Security monitoring
- ESG reporting
Module Dependencies
Adding New Module
1
Create Module Structure
2
Define Types
3
Create Store
4
Create Barrel Export
5
Create Pages
Best Practices
Module Isolation
Module Isolation
- Setiap module harus self-contained
- Hindari direct import antar module (gunakan store)
- Share utilities via
utils/folder - Share types via barrel export
Cross-Module Communication
Cross-Module Communication
Naming Convention
Naming Convention
- Module folder:
{number}_{name}(e.g.,03_inventory) - Store:
use{Module}Store - Composable:
use{Module}{Action} - Component:
{Module}{Type}