# 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
