# 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