Want to create interactive content? It’s easy in Genially!
Idea 2 - Python
paula.villablanca.a
Created on October 22, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Recipe finder
Discover new recipes with your favourite ingredients!
start
Index
01 Project . . . . . . . . . . . . . . . . . . . . . . . . . .
02 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . .
03 Process . . . . . . . . . . . . . . . . . . . . . . . . .
04 Challenges . . . . . . . . . . . . . . . . . . . . . . .
05 Team . . . . . . . . . . . . . . . . . . . . . . . . . . . .
01
pROJECT
"Create a program to search for recipes based on an ingredient"
DATA
02
Edamam API
- Provides access to a database of recipes and food data.
- The Recipe Search API allows developers to search for recipes based on a variety of criteria, including ingredients, cuisine, diet, and nutritional information.
- It is used by businesses and organizations to integrate food and nutrition data into their products and service
+ info
PROCESS
03
Things we considered:
- 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
+ info
MoSCoW
MUST
SHOULD
- 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
- 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
(happy user)
COULD
WON'T
- 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 won't be able to see ingredient/recipe prices
- Users won't be able to purchase ingredients online
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
Each recipe will display:
- Name of the recipe
- The link to the website
- The number of servings per recipe
- The number of calories per serving
- The weight per serving (in grams)
- Total cook time
- Extra nutritional information for specific diets
Vegetarian diet
Gluten-free
Vegan
Dairy-free
lET'S TRY IT OUT!
Tomato as chosen ingredient:
extra dietary requirements
Type of diet
Number of servings
Low-carb
Vegetarian
3 servings
Let's find out
04
02
STRAWBERRY
BANANA
01
03
couscous
spinach
challenges we faced and how we solved THEM (1)
04
Challenge 1: Working collaboratively (potential challenge) -Teams meetings/Slack messages -Replit (share the code) -Genially (create presentation)
Chickpea flour
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 (2)
04
Challenge 3: Sort recipes by a key (weight per serving) in a dictionary -Researched online - Tested several suggested codes until one worked
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
Next steps...
- 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"
team
Jess Brown
Nazifah Aslam
Kye-Lee Low
Paula Villablanca
Bon appetit!
Thanks for your attention
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.