Hello everyone,
We’re pleased to announce that we’ve resolved numerous bugs and added exciting new features to POS-Awesome v15. As this application is vital for small businesses that may not have the resources for other solutions, we invite anyone interested to contribute to its ongoing development and improvement.
Currently, we are focusing on implementing an offline mode and would greatly appreciate any assistance from the community.
Best regards,
opened 07:09PM - 19 May 25 UTC
### 🚀 Feature Request
**Category:** Enhancement
#### 📋 Summary
Enable true of… fline functionality by transforming POS-Awesome V15 into a Progressive Web App. This will allow the app shell to load without connectivity, persist master data locally, queue transactions offline, and sync automatically when online.
---
#### 🛑 Problem
* The app cannot launch unless online.
* Transactions created offline are lost or error out.
* Sales flow is interrupted in low- or no-connectivity environments (pop-ups, remote stores, trade shows).
---
#### 💡 Proposed Solution
1. **PWA Shell & Asset Caching**
* Add a `manifest.json` and register a service worker (via Workbox or Vue PWA plugin)
* Precache HTML/CSS/JS, fonts, images for offline loading
2. **Local Data Persistence**
* On first load, cache master-data (items, prices, customers, tax rules) into IndexedDB (using **localForage** or **Dexie**)
* Maintain user session and app state client-side
3. **Transaction Queue & Sync**
* Refactor and extend the existing enqueue logic into a durable IndexedDB queue with metadata (`createdAt`, `retryCount`, `lastError`)
* Use Background Sync API (with “Retry” fallback) to flush queued `frappe.call` requests when regained connectivity
* Surface queue status in the UI (e.g. “3 transactions pending sync”)
4. **Conflict Handling & Feedback**
* Define a conflict-resolution strategy (e.g. last-write-wins or manual merge for edits)
* Visually indicate each transaction’s state: ✅ Synced, ⏳ Pending, ⚠️ Error
---
#### ✅ Acceptance Criteria
* **Lighthouse PWA audit ≥ 90%** and app is installable (“Add to Home Screen”).
* **First-load caching** of all static assets and master-data.
* **Offline operations** for scanning, lookups, basket management, and printing.
* **Durable queue** survives browser restarts until sync succeeds.
* **Automatic/manual sync** reliably pushes queued transactions when online.
* **UI feedback** for pending/synced/error states.
* **Updated docs** describing PWA install steps, offline mode, and sync troubleshooting.
---
5 Likes