Dani 3388f24eb4 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>
2025-10-04 15:47:53 -04:00

🌿 Sage - Smart Kitchen Management

A beautiful Flutter app for tracking your kitchen inventory and reducing food waste.

Features

Smart Inventory Management

  • Barcode scanning for quick item entry
  • Auto-populated product information from multiple databases
  • Smart expiration date predictions based on food category
  • Visual expiration status indicators

Modern UI

  • Clean, intuitive Material Design 3 interface
  • Sage green theme
  • Custom sage leaf vector icon
  • Smooth animations and transitions

Notifications

  • Local expiration alerts
  • Discord webhook integration for remote notifications
  • Customizable alert settings (persisted!)

Local-First Data

  • All data stored locally using Hive
  • No cloud dependencies
  • Privacy-focused design
  • Fast and offline-capable

Tech Stack

  • Framework: Flutter 3.35.5
  • State Management: Riverpod 2.6.1
  • Database: Hive 2.2.3 (local)
  • Barcode Scanning: mobile_scanner 5.2.3
  • API Integration: Open Food Facts, UPCItemDB
  • Platform: Android (iOS coming soon)

Getting Started

Prerequisites

  • Flutter 3.x installed
  • Android Studio or VS Code
  • Android SDK (for mobile) or Visual Studio (for Windows desktop)

Setup

  1. Clone the repository
  2. Install dependencies:
flutter pub get
  1. Run the app:
# On Android device/emulator
flutter run

# On Windows (for development)
flutter run -d windows

Project Structure

sage/
├── lib/
│   ├── core/              # Core utilities, constants, extensions
│   ├── features/          # Feature modules (inventory, recipes, etc.)
│   ├── services/          # Business logic services
│   ├── data/              # Data layer (local + remote)
│   └── shared/            # Shared widgets and providers
├── assets/                # Images, icons, fonts
└── test/                  # Tests

Documentation

Roadmap

  • Phase 1: Foundation - Basic inventory tracker IN PROGRESS
  • Phase 2: Barcode scanning with Open Food Facts
  • Phase 3: Smart alerts & notifications
  • Phase 4: Recipe management
  • Phase 5: Shopping lists
  • Phase 6: Multi-user & cloud sync
  • Phase 7: Advanced features & polish

Author

Danielle Sapelli

  • Built with ❤️ using Flutter & Claude Code

Contributing

Ideas and suggestions are welcome!

License

TBD


🌿 Making kitchens smarter, one scan at a time!

Description
No description provided
Readme 525 KiB
Languages
HTML 45.6%
Dart 39.1%
C++ 7.9%
CMake 6.1%
Swift 0.8%
Other 0.4%