f5ab5f0449a2a2f7df481fbf6cd07023a60f937f
✨ New Features: - Firebase Firestore integration for real-time household sharing - Create household → generates code stored in cloud - Join household → looks up code from Firebase across devices - Leave household → updates member list in cloud - Cloud-first with local Hive fallback for offline 🔧 Technical Implementation: - Added firebase_core and cloud_firestore dependencies - Created FirebaseHouseholdService for all cloud operations - Updated HouseholdScreen to use Firebase for create/join/leave - Modified gradle files to support Google Services plugin - Increased minSdk to 21 for Firebase compatibility - Version bumped to 1.1.0+2 (MAJOR.MINOR.BUGFIX) 📁 New Files: - lib/features/household/services/firebase_household_service.dart - FIREBASE_SETUP.md - Complete setup instructions - android/app/google-services.json - Placeholder (needs replacement) - android/app/README_FIREBASE.md - Firebase config reminder ⚙️ Setup Required: 1. Create Firebase project at console.firebase.google.com 2. Add Android app with package name: com.sage.sage 3. Download real google-services.json 4. Enable Firestore Database in test mode 5. See FIREBASE_SETUP.md for complete instructions 🎯 How it works: - Device A creates household → stored in Firestore - Device B joins with code → reads from Firestore - Both devices now share same household ID - Inventory items sync via shared household ID 🤖 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%