Data Flow Patterns
Dokumentasi lengkap tentang alur data dari UI layer hingga backend API di MStore Dashboard.Overview
Layer Responsibilities
1. Page Component
Responsibility: Render UI dan handle user interactions2. Composable
Responsibility: Page-specific logic, koordinasi antara UI dan store3. Pinia Store
Responsibility: Global state management, API coordination4. API Layer
Responsibility: HTTP communication dengan backendComplete Data Flow Example
Creating New Item
Fetching with Search
Error Handling Flow
Optimistic Updates
Untuk UX yang lebih baik, update UI sebelum server response:Best Practices
Single Source of Truth
Single Source of Truth
- Store adalah single source of truth untuk domain state
- Composables hanya membaca dari store
- Components tidak langsung memodifikasi store state
Error Handling
Error Handling
- API layer: Transform HTTP errors ke user-friendly messages
- Store: Simpan error state untuk UI
- Composable: Handle errors dengan toast/notifications
- Component: Display error UI
Loading States
Loading States
- Gunakan loading state di store
- Show skeleton/spinner saat loading
- Disable form buttons saat submitting
- Prevent double-submission
Data Validation
Data Validation
- Validate di form level (composable)
- Validate lagi di API level (backend)
- Show validation errors per field
- Clear errors on input change