/wt21-happy-cook

HappyCook is a Recipe Search Engine designed for busy people. This webapp was developed by participants of TechLabs Berlin Winter 2021/2022

Primary LanguageJupyter Notebook

 

 

 

About

HappyCook is Recipe Search Engine designed for busy people. Users can input their available ingredients or select them to search for their favorite recipes according to several factors such as ingredients, time, and difficulty. Using our powerful algorithms, HappyCook suggests a list with the most relevant recipes to the least ones providing key data and an overview of each recipe.

 

Prototype

DESKTOP_PROTOTYPE.mp4

 

Setup

Requirements: python, nodeJS

Express app

Use the package manager npm to install the dependencies

  1. From the top-level directory: wt21-happy-cook

  2. Change to folder: $ cd node_app

  3. Run following commands to install express and dependencies:

npm install

Flask server

for installation

  1. Go to the directory: wt21-happy-cook/python_app/flask_app

  2. Install python: $ pip install python or $ pip3 install python

  3. Install flask (for more info click here)

  4. Run the following commands to install all dependencies:

$ pip install numpy
$ pip install joblib
$ pip install pandas
$ pip install num2words
$ pip install —user -U nltk

(for more information on nltk click here)

Note: If you find any ImportError messages, continue to install missing dependencies.

 

Running

to start up the flask server:

  1. Go to the directory: wt21-happy-cook/python_app/flask_app

  2. Make sure that you are in the virtual environment (venv). If you are not, reactivate the environment (see link click here)

  3. Run the following commands:

$ export FLASK_APP=app
$ flask run

to start up express run command:

  1. Go to the directory: wt21-happy-cook/node_app

  2. Run the following commands:

$ node app.js

 

Authors

Data Science:        Nisa Ulumuddin  

                             Ganyi Zhang  

                             Jayashree Prabhakaran  

WD Frontend:       Nikola Jelavić  

WD Backend:        Abiraam Kantharajah  

User Experience:   Leticia Valladares  

                             Ajimati Opeyemi