RecipeMakeAI is a web application that allows users to input ingredients in a search bar to generate recipes based on those ingredients. The application also utilizes Flask and CNN models for object detection to identify ingredients from images. The recipes themselves are fetched from the Edamam API.
Live Demo of this project
- Khashayar Moradpour
- Shizuka Takao
- Anupriya Islam
- Ingredient Input: Users can manually input ingredients in the search bar to generate recipes.
- Object Detection: Utilizes TensorFlow to detect ingredients from images uploaded by the user.
- Recipe Generation: Fetches recipes based on input ingredients from the Edamam API.
- Ingredient Detection: We have fine-tuned and trained a VGG-16 model on a Kaggle dataset containing 15 classes of vegetables, achieving precision, recall, and F1 scores of approximately 99% to 100% for each class. However, the model is limited to detecting only the ingredients present in this dataset. To address this, we are working on training the model with additional datasets and combining them to improve its ability to detect a wider range of ingredients accurately.
- Ongoing Work: To address these limitations, we are working on a Colab notebook. You can track the progress and access the notebook here: Colab Notebook.
Feel free to make a copy of the notebooks for your own use, and don’t hesitate to contact me at [email protected] if you encounter any issues or have questions.
Below is our current results:
- Flask: For the backend web server.
- TensorFlow: For object detection to identify ingredients from images.
- Edamam API: For fetching recipes based on ingredients.
- React: For the frontend interface.
- HTML/CSS/JavaScript: For additional frontend styling and functionality.
-
Clone the repository:
git clone https://github.com/khmorad/recepieMakerAI.git cd /recepieMakerAI/back
-
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up environment variables for the API keys:
export FLASK_APP=app.py export EDAMAM_API_KEY=your_edamam_api_key export EDAMAM_APP_ID=your_edamam_app_id export OPENAI_API_KEY=your_openai_api_key
-
Run the application:
python app.py
-
Navigate to the frontend directory:
cd ../front
-
Install the required packages:
npm install
-
Start the React development server:
npm start
- Open your web browser and go to
http://localhost:3000/
. - Input ingredients in the search bar to generate recipes.
- Optionally, upload an image of ingredients to use the object detection feature.
- View the generated recipes along with time estimates and calorie information.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.