Add real-time inventory syncing across devices v1.1.0
🔄 Inventory Sync Features: - Automatic sync to Firebase when adding/updating/deleting items - Real-time listener pulls changes from other devices - Bi-directional sync keeps all household devices in sync - Conflict resolution based on lastModified timestamp - Firebase version always wins on conflicts 📱 How It Works: Device A adds item → syncs to Firebase → Device B receives update Device B updates item → syncs to Firebase → Device A receives update Device A deletes item → syncs to Firebase → Device B removes item 🔧 Technical Implementation: - InventorySyncService: Real-time Firestore listener - Repository hooks: add/update/delete sync to Firebase - HomeScreen lifecycle: starts/stops sync automatically - Conflict resolution: newer timestamp wins - Local Hive + Cloud Firestore hybrid architecture 📁 New Files: - lib/features/household/services/inventory_sync_service.dart ✨ Updated Files: - lib/features/inventory/repositories/inventory_repository_impl.dart - Added Firebase sync on add/update/delete operations - Maintains local Hive for offline access - lib/features/home/screens/home_screen.dart - Starts sync service on init if in household - Stops sync service on dispose ⚠️ Requirements: - Firebase must be configured (see FIREBASE_SETUP.md) - Internet connection required for cross-device sync - Local Hive works offline, syncs when online ✅ Build Status: - APK: 63.4MB - Package: com.github.mystiatech.sage - Version: 1.1.0+2 🎯 Next Steps for User: 1. Set up Firebase (FIREBASE_SETUP.md) 2. Replace google-services.json with real file 3. Rebuild APK 4. Install on both devices 5. Create/join household 6. Add items → they sync! 🎉 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "PLACEHOLDER",
|
||||
"project_number": "41823683095",
|
||||
"project_id": "sage-kitchen-management",
|
||||
"storage_bucket": "sage-kitchen-management.appspot.com"
|
||||
"storage_bucket": "sage-kitchen-management.firebasestorage.app"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:PLACEHOLDER:android:PLACEHOLDER",
|
||||
"mobilesdk_app_id": "1:41823683095:android:be7f05a025091b77eed252",
|
||||
"android_client_info": {
|
||||
"package_name": "com.github.mystiatech.sage"
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "PLACEHOLDER_API_KEY"
|
||||
"current_key": "AIzaSyCh96OkpduplIxBDc5_-MFq5bgIjvKW3AE"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
@@ -26,4 +26,4 @@
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user