asfakianakis / Recipe-Flask-Web-App

Food Recipy Recommendation App using Flask and K-Means on the "Yummly" dataset.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

COMPGC27 Programming for Business Analytics - Group Project - Group 3

This repository contains the source code for the Group Project of "COMPGC27 Programming for Business Analytics" course for UCL's MSc in Business Analytics (academic year 2017-2018).

Group Members

Description

In this project, we created an application that recommends recipes based on user's appetite and mood for food at a particular time. The dataset we were based on is the famous "Yummly dataset" containing 28k food-related data points, including recipe name, ingredients, cuisine and course type, along with the corresponding images. The project was implemented using Python's micro web framework, Flask and consists of two main parts: An initial clustering that groups recipes based on the aforementioned features and a live backend model, which uses these clusters along with user input to create a preference matrix and display recipes that are close to the user's taste. For detailed information, you can check the full report.

Repository Structure

The Clustering folder contains a python script to parse all json files from the metadata folder of the initial dataset and a Jupyter Notebook that presents the whole clustering procedure. The Flask folder contains the code for the web application, organized into appropriate directories, following the standard Flask template. Just note that the "RecipeSubsetFlask.csv" file inside the Static folder, contains the recipes and the corresponding clusters, as derived from the Jupyter notebook.

Run localy

In order to run the application locally, just download the Flask folder, open a terminal and type the following commands:

cd Flask
python routes.py

Then type at your browser http://localhost:5000/ and press Enter.

About

Food Recipy Recommendation App using Flask and K-Means on the "Yummly" dataset.

License:MIT License


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%Language:HTML 0.0%Language:CSS 0.0%