South African grocery comparison and shopping list app
# Milk đź›’
A South African grocery comparison and shopping list app built with Flutter and Supabase. Compare prices across major retailers, create smart shopping lists, and generate AI-powered recipes with automatic ingredient matching.
## ✨ Features
### Product Browsing & Search
- View products and specials from major SA retailers
- Smart search with real-time filtering
- Promo-only toggle and sorting options
- Price comparison across stores
### Shopping Lists
- Create and manage multiple shopping lists with color coding
- Real-time collaboration with family/friends
- Automatic total calculation with promo price support
- Share lists via invite system
### 🆕 AI Recipe Generation
- Generate recipes from name/description using Google Gemini AI
- "Use Ingredients" mode - get recipe suggestions from what you have
- Automatic ingredient-to-product matching
- Re-match ingredients for specific stores
- Export recipe ingredients directly to shopping list
- Save favorite recipes to "My Recipes"
### Offline Support
- Full offline functionality with Hive local storage
- Background sync when connection restored
- Optimistic UI updates
### Additional Features
- Dark mode support
- Google OAuth authentication
- Guest browsing mode
## 🏪 Retailers Supported
| Retailer | Products | Specials | Status |
| ---------- | -------- | -------- | ------ |
| Pick n Pay | âś… | âś… | Active |
| Woolworths | âś… | âś… | Active |
| Shoprite | âś… | âś… | Active |
| Checkers | âś… | âś… | Active |
## 🛠️ Tech Stack
- **Frontend**: Flutter (Dart)
- **Backend**: Supabase (PostgreSQL, Auth, Realtime)
- **AI**: Google Gemini API
- **State Management**: Riverpod
- **Routing**: go_router
- **Local Storage**: Hive, flutter_secure_storage
## 🚀 Getting Started
### Prerequisites
- Flutter SDK (3.19+ recommended)
- Android Studio or VS Code with Flutter extension
- A Supabase project
- Google Gemini API key (for AI recipes)
### Setup
1. **Clone the rep …