3388f24eb41aaa87d3645b738c69458649c82ad1
🔄 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>
🌿 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
- Clone the repository
- Install dependencies:
flutter pub get
- 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
- PLAN.md - Development roadmap and current status
- SAGE_PROJECT.md - Complete project documentation
- PROJECT_STRUCTURE.md - Detailed architecture guide
- CLAUDE.md - AI assistant personality template
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
Languages
HTML
45.6%
Dart
39.1%
C++
7.9%
CMake
6.1%
Swift
0.8%
Other
0.4%