Project Description
I already have a Flutter-based mobile POS app and need to add true offline capability so staff can keep working without connectivity and then push everything safely to the cloud.
Key requirements
• Data to cache and sync: sales transactions, inventory updates, and customer information.
• Sync cadence: an automatic periodic job—about once an hour—that wakes up, checks connectivity, and pushes/pulls changes.
• Conflict strategy: when the cloud copy disagrees with what was captured offline, the local changes win automatically.
What I expect from you
1. Choose or implement an efficient local persistence layer (e.g., SQLite, Hive, or similar) and wire it into my existing Flutter codebase.
2. Build a lightweight queue/change-tracking mechanism so new or edited records are flagged for upload the next time the device is online.
3. Create the background sync service that:
– Detects connectivity,
– Performs batched HTTPS calls to my current backend API, and
– Re-tries gracefully if the connection drops midway.
4. Provide clear error logging and a simple status indicator in the UI so users know when data is pending, syncing, or synced.
5. Deliver well-commented Dart code plus a short README explaining how to test offline, force sync, and extend to future data types.
If you have experience building offline-first Flutter apps or POS systems, let me know what libraries you prefer and roughly how long integration should take.