graph LR
A[🏠 Home Screen] --> B[🌤️ Weather Check]
B --> C[🍽️ Food Suggestions]
A --> D[🤖 AI Chat]
D --> E[💬 Ask Questions]
E --> F[🛒 Add to Cart]
A --> G[📸 Food Scanner]
G --> H[🔍 Scan Food]
H --> I[📦 Product Details]
I --> F
C --> J[👨🍳 Cooking Mode]
J --> K[⏱️ Timer & Steps]
F --> L[💳 Checkout]
L --> M[📍 Address & Payment]
📱 Flutter Setup
# Clone repository
git clone https://github.com/khanak0509/CookVision.git
cd CookVision/food_app
# Install dependencies
flutter pub get
# Run the app
flutter run🐍 Backend Setup
# Navigate to project directory
cd food_app
# Install Python dependencies
pip install -r requirements.txt
# Create .env file with your API key
echo "GOOGLE_API_KEY=your_gemini_api_key_here" > .env
# Start FastAPI server
python3 -m uvicorn main:app --reload
# Server will run on http://localhost:8000🔥 Firebase Setup
- Create project at Firebase Console
- Enable these services:
- ✅ Authentication (Email/Password)
- ✅ Cloud Firestore
- ✅ Cloud Storage
- Download configuration files:
- Android:
google-services.json→android/app/ - iOS:
GoogleService-Info.plist→ios/Runner/
- Android:
- Run Firebase CLI:
flutterfire configure - Update Firestore rules for security
🤖 Food Recognition Model Setup
# 1. Check if model is ready
python3 check_model.py
# 2. If model not found, train it
# Open train.ipynb in Jupyter or VS Code and run all cells
# Training takes 30-60 minutes
# 3. Verify model files exist
ls -lh food_recognition_model.h5 food_labels.json
# 4. Model is automatically loaded when backend starts
python3 -m uvicorn main:app --reload
# Look for: "✅ Food recognition model loaded"📚 Detailed Guide: See FOOD_RECOGNITION_SETUP.md