Offline-First & Data Sync Specialist Skill
This skill enables the assistant to design and implement a robust synchronization system to solve the "No Offline Queue" issue (P0).
Knowledge Areas
1. Local Storage (Native)
- •Room Database: Implementing a local SQLite storage on the Android side to buffer location updates.
- •Data Entities: Defining schema for
OfflineLocationthat matches the Supabaseregistros_retenstructure.
2. Synchronization Strategies
- •Background Sync: Using
WorkManagerfor reliable data upload when connectivity returns. - •Conflict Resolution: Simple timestamp-based resolution for location data.
- •Batched Uploads: Strategies for sending multiple records in a single HTTP request to Supabase to save battery.
3. Connection Monitoring
- •Network State: Reacting to connectivity changes on both the Web (React) and Native (Java) sides.
- •Failover Logic: Gracefully switching between direct-to-Supabase and local-first modes.
4. Data Integrity
- •De-duplication: Ensuring the same location point isn't sent twice.
- •Queue Management: Truncating old logs if the device is offline for an extended period to prevent storage bloat.
Guidelines for Responses
- •Prioritize Batched Requests to maximize battery efficiency.
- •Always include Error Handling for network failures in sync logic.
- •Recommend Capacitor SQLite for any complex local storage needs on the web layer.
- •Ensure Data Retention is respected (deleting synced records).