# Smart Fridge Project
A sophisticated kitchen management system that uses AI and computer vision to track inventory, suggest recipes, monitor nutrition, and prevent food waste.
## Features
- 🎯 **Inventory Management**: Automatic tracking of food items using computer vision
- 🍳 **Recipe Suggestions**: Smart recipe recommendations based on available ingredients
- 📊 **Health Tracking**: Monitor nutritional intake and progress towards health goals
- ♻️ **Waste Prevention**: Track expiration dates and get alerts for at-risk items
- 🔍 **Advanced Recipe Search**: Filter recipes by dietary restrictions, cooking time, and difficulty
- 🤖 **AI-Powered Assistant**: Chat with an AI kitchen assistant for cooking advice and help
- 📈 **Analytics**: Visual reports of inventory trends and nutritional data
## Prerequisites
- Python 3.9 or higher
- PostgreSQL (optional, SQLite is used by default)
- OpenCV for computer vision
- FFmpeg for audio processing
## Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/smart-fridge-project.git
cd smart-fridge-project
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Create a
.env
file in the project root with the following keys:
SPOONACULAR_API_KEY=your_spoonacular_api_key
DATABASE_URL=sqlite:///smartfridge.db # Or your PostgreSQL URL
SECRET_KEY=your_secret_key_here
OPENAI_API_KEY=your_openai_api_key
NUTRITIONIX_APP_ID=your_nutritionix_app_id
NUTRITIONIX_API_KEY=your_nutritionix_api_key
- Initialize the database:
flask db upgrade
- Run the application:
flask run
The application will be available at http://localhost:5000
This project uses several external APIs. You'll need to obtain API keys from:
- Spoonacular - For recipe data
- OpenAI - For AI assistant features
- Nutritionix - For nutritional data
A test user is created automatically with these credentials:
- Username: testuser
- Password: testpassword
smart-fridge-project/
├── src/
│ ├── ai/
│ ├── camera/
│ ├── core/
│ ├── inventory/
│ ├── recipes/
│ ├── health/
│ └── waste_prevention/
├── static/
├── templates/
├── requirements.txt
└── main.py
- Real-time tracking of food items
- Automatic detection using computer vision
- Expiration date tracking
- Category-based organization
- Recipe suggestions based on available ingredients
- Dietary restriction filters
- Difficulty levels and cooking time estimates
- Nutritional information
- Daily nutritional intake monitoring
- Progress towards health goals
- Visual nutrition reports
- Custom goal setting
- Expiration alerts
- Smart usage suggestions
- Inventory optimization
- Food waste tracking
Contributions are welcome! Please feel free to submit a Pull Request.
- FFmpeg warning on startup can be ignored if you're not using audio features
- Local image paths need to be adjusted based on your system
Planned features include:
- Voice control system
- Multi-user family management
- Smart leftover tracking
- Cost management system
- Mobile application integration
This project is licensed under the MIT License - see the LICENSE file for details.
- Uses YOLOv3 for object detection
- OpenAI's GPT models for AI assistance
- Spoonacular API for recipe data
- Nutritionix API for nutritional information
For support, please open an issue in the GitHub repository.
Please note that this project is for educational purposes. In a production environment, additional security measures should be implemented.