Want to make creations as awesome as this one?

Transcript

start

Discover new recipes with your favourite ingredients!

Recipe finder

05 Team . . . . . . . . . . . . . . . . . . . . . . . . . . . .

04 Challenges . . . . . . . . . . . . . . . . . . . . . . .

03 Process . . . . . . . . . . . . . . . . . . . . . . . . .

02 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . .

01 Project . . . . . . . . . . . . . . . . . . . . . . . . . .

Index

01

"Create a program to search for recipes based on an ingredient"

pROJECT

DATA

02

+ info

  1. Provides access to a database of recipes and food data.
  2. The Recipe Search API allows developers to search for recipes based on a variety of criteria, including ingredients, cuisine, diet, and nutritional information.
  3. It is used by businesses and organizations to integrate food and nutrition data into their products and service

Edamam API

PROCESS

03

+ info

  • Ingredients input
  • Health requirements, cuisine type, meal type input
  • Number of servings
  • Calories per serving
  • Weight per serving
  • Total cook time
  • Order results by 'weight per serving'
  • Additional diet/nutritional information (low-carb, low-sodium, etc.)
  • Time function

Things we considered:

(happy user)

  • Users won't be able to see ingredient/recipe prices
  • Users won't be able to purchase ingredients online
  • Users could know the weight and calories of each serving
  • Users could know additional dietary information
  • Recipes could be ordered by 'weight per serving'
  • Recipes could include total cook time.
  • Users should be able to filter recipes by health requirements, cuisine type and meal type
  • Users should be able to know the number of servings per recipe

WON'T

COULD

SHOULD

MUST

MoSCoW

  • Users must be able to enter any ingredient of their choice
  • The name of the recipe must be shown in the results
  • The urls for the recipes must be accessible

wHAT WE HAVE DONE

  • Retrieve data from API (input ingredient, input healthLabel, input cuisineType, input mealType)
  • User input - 'ingredient', 'refine search', 'health choice', 'cuisine type', 'meal type'
  • Time function (output is printed with time delay)
  • Print a message informing user which health choice, cuisine type, meal type, ingredient they have selected
  • If an input error occured in 'refine_search' - an error message is printed and the code exits "exit()"
  • Create a recipe dictionary list of recipes from the API based on user input
  • From the recipe dictionary list, we sorted the recipes based on weight per serving
  • Print the sorted list of recipes including the name(‘label’), website(‘url’), servings(‘yield’), calories per serving, weight per serving and total cooking time ('totalTime').
  • Retrieve data about dietLabel and printed an additional message about the recipe being a good choice for which diet. Also join the list of diets with a comma.
  • If no recipes are found a message is printed.
  • Save results to file

Dairy-free

Gluten-free

Vegan

Vegetarian diet

  1. Name of the recipe
  2. The link to the website
  3. The number of servings per recipe
  4. The number of calories per serving
  5. The weight per serving (in grams)
  6. Total cook time
  7. Extra nutritional information for specific diets

Each recipe will display:

lET'S TRY IT OUT!

Tomato as chosen ingredient:

Low-carb

extra dietary requirements

3 servings

Number of servings

Vegetarian

Type of diet

Let's find out

04

STRAWBERRY

03

spinach

02

BANANA

01

couscous

Challenge 1: Working collaboratively (potential challenge)-Teams meetings/Slack messages-Replit (share the code)-Genially (create presentation)

04

Challenge 2: Filter recipes per health, cuisine type, meal type-Asked Nour for advice-Added "&health={}" "&cuisineType={}" "&mealType={}" as part of the url (API) and within the function

challenges we faced and how we solved THEM (1)

Chickpea flour

Challenge 4: Achieving desired output -Constant 'printing' at certain points within the code to see the output- Amending the code to achieve the desired output-For example, recipes were printing in a very long line as a list instead of a separate line so a 'for loop' was created to achieve the desired output

04

challenges we faced and how we solved THEM (2)

Challenge 3: Sort recipes by a key (weight per serving) in a dictionary -Researched online- Tested several suggested codes until one worked

Chickpea flour

  • Tidy up code so it is easier to read and follow
  • Limit repeated code (maybe create more functions?)
  • Make it more user-interactive (link to website/images)
  • Save multiple ingredients into a file - e.g. "Shopping list" "What's in my pantry"

Next steps...

team

Jess Brown

Nazifah Aslam

Kye-Lee Low

Paula Villablanca

Thanks for your attention

Bon appetit!

Got an idea?

Let the communication flow!

With Genially templates, you can include visual resources to wow your audience. You can also highlight a particular sentence or piece of information so that it sticks in your audience’s minds, or even embed external content to surprise them: Whatever you like!Do you need more reasons to create dynamic content? No problem! 90% of the information we assimilate is received through sight and, what’s more, we retain 42% more information when the content moves.

  • Generate experiences with your content.
  • It’s got the Wow effect. Very Wow.
  • Make sure your audience remembers the message.

Got an idea?

Let the communication flow!

With Genially templates, you can include visual resources to wow your audience. You can also highlight a particular sentence or piece of information so that it sticks in your audience’s minds, or even embed external content to surprise them: Whatever you like!Do you need more reasons to create dynamic content? No problem! 90% of the information we assimilate is received through sight and, what’s more, we retain 42% more information when the content moves.

  • Generate experiences with your content.
  • It’s got the Wow effect. Very Wow.
  • Make sure your audience remembers the message.

Got an idea?

Let the communication flow!

With Genially templates, you can include visual resources to wow your audience. You can also highlight a particular sentence or piece of information so that it sticks in your audience’s minds, or even embed external content to surprise them: Whatever you like!Do you need more reasons to create dynamic content? No problem! 90% of the information we assimilate is received through sight and, what’s more, we retain 42% more information when the content moves.

  • Generate experiences with your content.
  • It’s got the Wow effect. Very Wow.
  • Make sure your audience remembers the message.

Got an idea?

Let the communication flow!

With Genially templates, you can include visual resources to wow your audience. You can also highlight a particular sentence or piece of information so that it sticks in your audience’s minds, or even embed external content to surprise them: Whatever you like!Do you need more reasons to create dynamic content? No problem! 90% of the information we assimilate is received through sight and, what’s more, we retain 42% more information when the content moves.

  • Generate experiences with your content.
  • It’s got the Wow effect. Very Wow.
  • Make sure your audience remembers the message.