Skip to content

jaden530/smart-fridge-project

Repository files navigation

# 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
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
  1. Install required packages:
pip install -r requirements.txt
  1. 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

Running the Application

  1. Initialize the database:
flask db upgrade
  1. Run the application:
flask run

The application will be available at http://localhost:5000

API Keys Required

This project uses several external APIs. You'll need to obtain API keys from:

Default Login

A test user is created automatically with these credentials:

  • Username: testuser
  • Password: testpassword

Project Structure

smart-fridge-project/
├── src/
│   ├── ai/
│   ├── camera/
│   ├── core/
│   ├── inventory/
│   ├── recipes/
│   ├── health/
│   └── waste_prevention/
├── static/
├── templates/
├── requirements.txt
└── main.py

Features in Detail

Inventory Management

  • Real-time tracking of food items
  • Automatic detection using computer vision
  • Expiration date tracking
  • Category-based organization

Recipe Management

  • Recipe suggestions based on available ingredients
  • Dietary restriction filters
  • Difficulty levels and cooking time estimates
  • Nutritional information

Health Tracking

  • Daily nutritional intake monitoring
  • Progress towards health goals
  • Visual nutrition reports
  • Custom goal setting

Waste Prevention

  • Expiration alerts
  • Smart usage suggestions
  • Inventory optimization
  • Food waste tracking

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Known Issues

  • 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

Future Development

Planned features include:

  • Voice control system
  • Multi-user family management
  • Smart leftover tracking
  • Cost management system
  • Mobile application integration

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Uses YOLOv3 for object detection
  • OpenAI's GPT models for AI assistance
  • Spoonacular API for recipe data
  • Nutritionix API for nutritional information

Support

For support, please open an issue in the GitHub repository.

Security

Please note that this project is for educational purposes. In a production environment, additional security measures should be implemented.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published