26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
# Phase 3: Advanced POS (Offline Focused)
|
|
|
|
## Technical Architecture
|
|
- **Local Database**: IndexedDB (via Dexie.js)
|
|
- **Sync Strategy**: Background Workers + Manual Sync Dashboard
|
|
- **Data Scope**: Products, Customers, POS Sessions (Transactions)
|
|
|
|
## Todo List
|
|
- [ ] **Infrastructure Setup**
|
|
- [ ] Install `dexie` package
|
|
- [ ] Create `resources/js/db.js` for IndexedDB schema
|
|
- [ ] Create `resources/js/composables/useOfflineStore.js`
|
|
- [ ] **Data Splicing & Local Storage**
|
|
- [ ] Implement `syncProducts` to pull from server and save to IndexedDB
|
|
- [ ] Implement `syncCustomers` to save frequently used customer data
|
|
- [ ] Implement `syncSettings` (tax, discounts, etc.)
|
|
- [ ] **Offline Transaction Entry**
|
|
- [ ] Update `PosMain.vue` to fallback to local DB when offline
|
|
- [ ] implement `storePendingTransaction` in IndexedDB
|
|
- [ ] **Background Sync Logic**
|
|
- [ ] Implement periodic background push for local transactions
|
|
- [ ] Create Conflict Resolution handler
|
|
- [ ] **UI Features**
|
|
- [ ] Offline status indicator in POS
|
|
- [ ] Sync Dashboard component
|