By: Team HYBB
Since: Mar 2020
Licence: MIT
- 1. Introduction
- 2. Overview (Harshita)
- 3. Quick Start
- 4. The Anatomy of a Recipe
- 5. HealthyBaby’s User Interface (Beatrice)
- 6. Notations Used
- 7. Basic Commands
- 7.1. Viewing help :
help
- 7.2. Switch the current tab:
switch
(Harshita) - 7.3. List all recipes:
list
- 7.4. Find a recipe:
find
(Brian) - 7.5. Add a recipe:
add
- 7.6. Edit a recipe :
edit
- 7.7. Delete a recipe :
delete
(Brian) - 7.8. Favourite a recipe:
favourite
(Brian) - 7.9. Unfavourite a recipe:
unfavourite
(Brian) - 7.10. Undo a previous action:
undo
(Brian) - 7.11. Redo a previous undo:
redo
(Brian) - 7.12. Clear the recipe book :
clear
- 7.13. Exit the program :
exit
- 7.14. Saving the data
- 7.1. Viewing help :
- 8. Recipe Customisation Commands (Brian)
- 8.1. Add Ingredients to a Recipe:
addIngredient
(Brian) - 8.2. Edit Ingredient Quantity in a Recipe:
editIngredient
(Brian) - 8.3. Delete Ingredients in a Recipe:
deleteIngredient
(Brian) - 8.4. Add Steps to a Recipe:
addStep
(Brian) - 8.5. Edit a Step in a Recipe:
editStep
(Brian) - 8.6. Delete Steps in a Recipe:
deleteStep
(Brian)
- 8.1. Add Ingredients to a Recipe:
- 9. Filter Command (Brian)
- 10. Planning Command (Beatrice)
- 10.1. Plan a recipe:
plan
(Beatrice) - 10.2. Delete a plan:
deletePlan
(Beatrice) - 10.3. Clear all planned recipes:
clearPlan
(Beatrice) - 10.4. Obtain ingredients for planned recipes:
groceryList
(Beatrice) - 10.5. View this week’s planned recipes:
viewWeek
[Coming in v2.0] - 10.6. View this month’s planned recipes:
viewMonth
[Coming in v2.0]
- 10.1. Plan a recipe:
- 11. Goals Command (Harshita)
- 12. Achievement Command (Yue Tong)
- 13. FAQ (Harshita)
- 14. Glossary (Harshita)
- 15. Command Summary
1. Introduction
HealthyBaby (HYBB) is a desktop application that provides you with a database of quick, easy, and healthy recipes. Are you a university student staying on campus and are tired of purchasing the same few unhealthy meals? Looking for healthier options but searching for and planning recipes are a hassle for you? HYBB is just the app for you! HYBB helps alleviate the challenges faced while maintaining healthy eating habits, easing the transition from eating out everyday to cooking healthy meals regularly.
Value proposition: Focuses on healthy, simple recipes with short cooking time with ingredients filter to minimise food wastage.
HYBB is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). Through our convenient filters, searching and planning for new healthy recipes will be a breeze.
Get motivated through our eye-catching goals and achievements.
Interested? Jump to the Section 3, “Quick Start” to get started. Enjoy!
2. Overview (Harshita)
The main features of HYBB are as follows:
2.1. Filter
HYBB enables filtering by specific components in the recipes such as goals, favourites, and ingredients in order to reduce the time needed to find recipes that suit your needs.
2.2. Planning
This feature enables students to plan their meals in advance and provides an easy grocery list for your shopping needs.
2.3. Goals
This feature enables students to monitor their healthy eating progress, HYBB provides a history of all cooked meals along with statistics based on 4 main goals: “Wholesome Wholemeals”, “Bulk like a Hulk”, “Herbivore” and "Fruity Fiesta".
2.4. Achievements
This feature aims to encourage students to continue their healthy eating by showing visual evidence of their progress through streaks and daily motivational quotes.
3. Quick Start
-
Ensure you have
Java 11
or above installed in your Computer. -
Download the latest
healthybaby.jar
here. -
Copy the file to the folder you want to use as the home folder for your HealthyBaby application.
-
Double-click the file to start the app. The Graphical User Interface should appear in a few seconds.
-
Enter a command in the command box to execute it. The result of the command will appear in the result box directly below the command box.
e.g. Entering
help
will open the help window. -
Some example commands you can try:
-
list
: lists all recipes -
delete 3
: deletes the 3rd recipe shown in the current list -
undo
: undoes the previous action -
exit
: exits the app
-
-
Refer to Section 7, “Basic Commands” for details of each command.
4. The Anatomy of a Recipe
You can store the following information in a recipe:
Name - Name of the recipe
Time - Time taken for the recipe to be cooked, measured in minutes
Ingredients - Ingredients used in the recipe, broken down into five categories (Grains, Vegetables, Proteins, Fruits, Others)
Steps - Steps taken to cook the meal
Goals - Goal that the recipe falls under
4.1. Goals (Harshita)
HYBB supports the following goals that model the Healthy Eating Plate. Goals are automatically added to a recipe you add or edit if they meet the recommended nutritional quantity specified for their respective food group.
Goal | Food Group represented by Goal |
---|---|
Herbivore |
Vegetables |
Fruity Fiesta |
Fruits |
Bulk like the Hulk |
Healthy Proteins |
Wholesome Wholemeals |
Whole Grains |
4.2. Ingredients (Beatrice)
You can use the following units to measure how much of each ingredient is needed in the recipe.
Unit | Description |
---|---|
g |
Grams |
ml |
Milliliters |
tbsp |
Tablespoon |
tsp |
Teaspoon |
cup |
Cups |
5. HealthyBaby’s User Interface (Beatrice)
Upon opening HYBB, you will see our Graphical User Interface.
The Command Box is where you can enter commands to tell HYBB what to do.
The Result Box is where you can see whether the command you have given was successful or unsuccessful.
The Tab Panel can be clicked to switch between tabs.
Alternatively, if you wish to switch between tabs by typing instead of clicking, you can type switch [tab name]
into the Command Box instead.
For more information, please refer to [Switch the current tab: switch
].
The Display Panel displays the information for the current tab you are on.
6. Notations Used
6.1. List of Tags
You can use the following tags to converse with HYBB.
Tag | Description |
---|---|
n/ |
Name of recipe |
t/ |
Time taken to prepare and cook recipe, measured in minutes |
ig/ |
Grain ingredient (e.g. rice, bread, spaghetti) |
iv/ |
Vegetable ingredient (e.g. spinach, cabbage, carrot) |
ip/ |
Protein ingredient (e.g. chicken, salmon, tofu) |
if/ |
Fruit ingredient (e.g. grapes, honeydew, watermelon) |
io/ |
Other ingredient, for any other ingredient that do not belong in the above 4 categories (e.g. oyster sauce, pepper, sesame oil) |
s/ |
Steps of the recipe |
6.2. Legend
From sections 6 to 11, the following notations may be used.
Notation | Meaning |
---|---|
[ ] |
Necessary field |
< > |
Optional field. e.g. |
[ < > ] |
At least one of the optional fields is necessary |
… |
One or more of this same field can be added. |
💡 |
Tips for usage and things to take note of |
Parameters can be in any order e.g. if the command specifies n/name t/time , t/time n/name is also acceptable.Also, commands are case-insensitive, but tags are case-sensitive. |
7. Basic Commands
7.1. Viewing help : help
Gives you a short summary of all the available commands.
Format: help
7.2. Switch the current tab: switch
(Harshita)
Switches the current tab you are in and changes the display.
Format: switch
[tab name]
Example: switch planning
Switches the current tab to the planning tab.
Tabs available: recipes, planning, goals, achievements. |
7.3. List all recipes: list
Lists all the recipes present in the database.
Format: list
7.4. Find a recipe: find
(Brian)
Searches for existing recipes by their names using the keyword(s) that you have specified.
Format: find </strict> [keyword] <keyword>…
Example 1: find /strict Avocado Chicken
Finds recipes that contain the words "Avocado" or "Chicken" in their names (ie. only one of them has to be present).
Using /strict will treat all subsequent keywords as separate keywords (separated by the space),
as seen in Example 1.It will also search for an exact match of each specified keyword (e.g. If you are searching for a recipe that has "Avocado" in its name, find /strict Avo will not be able to find it. Instead, use find /strict Avocado or
see Example 2)
|
Example 2: find Avocado Chicken
Finds recipes that contain the single keyword "Avocado Chicken".
Without /strict , all the keywords will be taken as a single keyword and it does not require an exact match for a
recipe to be found (e.g. find Avo will be able to find recipes that has "Avocado" in its name)
|
7.5. Add a recipe: add
Adds a recipe to the recipe book
Format: add [n/name] [t/time] [<ig/grain>… <iv/vegetable>… <ip/protein>… <if/fruit>… <io/other>…]
<s/step>…
Example: add n/Chicken Rice t/30 ip/300g, Chicken Thigh ig/300g, Rice s/Boil chicken
s/While chicken is cooking, add sesame oil and crushed ginger into rice and cook it
s/When chicken is done, dip it into iced water
s/Serve while rice is hot
Adds a new recipe entry that contains the following description:
Multiple steps and multiple ingredients for a recipe can be added in this one command. |
The compulsory fields needed in a recipe are the name, time and at least one of the ingredient fields.
You can add these fields first, then edit the recipe as needed using the various edit commands available
(Refer to section 6.6 and 7). |
Name and time fields that require one input. If more than one name or more than one time is given,
HYBB will take the later input. For example, add n/Chicken Rice n/Chicken with Rice t/30, ip/300g, Chicken Thigh
would create a new recipe with the name Chicken with Rice.
|
7.6. Edit a recipe : edit
Edits an existing recipe. This is the command used for editing entire fields at a time.
Format: edit [recipe index] [<n/name> <t/time> <ig/grain>… <iv/vegetable>… <ip/protein>… <if/fruit>…
<io/other>… <s/step>…]
Example: edit 4 n/Chicken Rice t/20
Renames the 4th recipe to Chicken Rice, and sets the preparation time to 20 minutes (from whatever amount it was before).
Using this command to edit a field that might have multiple entities like ‘vegetable ingredients’ or 'steps' will
overwrite the entire field.
For example, if the 4th recipe currently has a list of 5 vegetable ingredients, running edit 4 iv/50g, Lettuce will
replace the entire list of vegetable ingredients with only 50g of Lettuce. |
To make changes to a single entity in a field without having to rewrite everything, please refer to
Section 8, “Recipe Customisation Commands (Brian)”. |
For fields that can only contain one entry like name and time, if more than one name or more than one time is given,
HYBB will take the later input. For example, edit 4 t/10 t/20
would change the time taken to 20 minutes for the recipe at index 4.
|
7.7. Delete a recipe : delete
(Brian)
Deletes the recipe(s) that you have specified.
Format: delete [recipe index] <recipe index>…
Example: delete 1 3 4
Deletes recipe 1, 3, and 4 from the recipe book.
You can delete, favourite, or unfavourite multiple recipes at the same time (at least one recipe must be selected). |
If you specify a recipe number that does not exist in the list of recipes that you are currently viewing, none of your selected recipes will be deleted, favourited, or unfavourited. |
7.8. Favourite a recipe: favourite
(Brian)
Favourites the recipe(s) that you have specified.
Format: favourite [recipe index] <recipe index>…
Example: favourite 1 3 4
Favourites recipes 1, 3, and 4.
7.9. Unfavourite a recipe: unfavourite
(Brian)
Unfavourites the recipe(s) that you have specified.
Format: unfavourite [recipe index] <recipe index>…
Example: unfavourite 1 3 4
Unfavourites recipes 1, 3, and 4.
7.10. Undo a previous action: undo
(Brian)
Undoes a previous action.
Format: undo <number of actions> or <all>
Example 1: undo
Undoes only the previous action.
Example 2: undo 3
Undoes the 3 previous actions. If there are less than 3 actions to undo, you will not be allowed to undo.
Example 3: undo all
Undoes all previous actions.
For both undo and redo, the number of actions that you specify (if any) has to be a non-zero unsigned integer! |
7.11. Redo a previous undo: redo
(Brian)
Restores actions that have been previously undone using undo
.
Format: redo <number of actions> or <all>
Example 1: redo
Restores the actions that have been undone by the previous undo.
Example 2: redo 3
Restores the actions that have been undone by the previous 3 undo-s. If there are less than 3 actions to restore, you
not be allowed to redo.
Example 3: redo all
Restores the actions that have been undone by all previous undo-s.
7.12. Clear the recipe book : clear
Clears the recipe book. After entering this command, the recipe book will be empty and all planned recipes
will be removed.
Format: clear
All recipes and plans, including default ones, will be removed. |
You can undo this command if it was performed by accident.
|
7.13. Exit the program : exit
Saves HYBB and exits the program.
Format: exit
7.14. Saving the data
HYBB’s data is saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
8. Recipe Customisation Commands (Brian)
As we see from the edit
command in section 6.6, if you want to add, edit, or delete a single ingredient or step,
you would have to rewrite the whole field that you wish to edit. This would be troublesome if the field contains
multiple ingredients or steps that you may not necessarily want to edit. Therefore, the following commands are used in
occasions like these!
8.1. Add Ingredients to a Recipe: addIngredient
(Brian)
Adds more ingredients to an existing recipe.
Format: addIngredient [recipe index] [<ig/grain>… <iv/vegetable>… <ip/protein>… <if/fruit>… <io/other>…]
Example: addIngredient 2 ig/50g, Bread io/5g, Butter
Adds 50g of Bread and 5g of Butter to recipe 2.
You can add multiple ingredients at a time (at least one ingredient must be added). |
If you add an ingredient that already exists in the recipe, that existing ingredient will be replaced with the new one. |
8.2. Edit Ingredient Quantity in a Recipe: editIngredient
(Brian)
Edits the quantity of an ingredient in an existing recipe.
Format: editIngredient [recipe index] [<ig/grain>… <iv/vegetable>… <ip/protein>… <if/fruit>… <io/other>…]
Example: editIngredient 3 ig/50g, Bread
Searches for Bread in recipe 3 and changes its quantity to 50g. An error message will appear if Bread does not exist in
recipe 3’s ingredients set.
You can edit multiple ingredients at a time (at least one ingredient must be edited). |
8.3. Delete Ingredients in a Recipe: deleteIngredient
(Brian)
Deletes the specified ingredient(s) from an existing recipe.
Format: deleteIngredient [recipe index] [<ig/grain name>… <iv/vegetable name>… <ip/protein name>…
<if/fruit name>… <io/other name>…]
Example: deleteIngredient 3 ig/Rice iv/Kailan
Searches for Rice and Kailan in recipe 3 and deletes them. An error message will appear if Rice and/or Kailan does not
exist in recipe 3’s ingredients set.
You can delete multiple ingredients at a time (at least one ingredient must be deleted). |
There is no need to specify quantity here. Just the ingredient name will do! |
If you type an ingredient prefix (e.g. "ig/") but don’t specify any ingredients, all ingredients of that type will be deleted. |
8.4. Add Steps to a Recipe: addStep
(Brian)
Adds more steps to an existing recipe.
Format: addStep [recipe index] [s/step] <s/next step>…
Example: addStep 1 s/New step s/Another new step
Adds 2 new steps to recipe 1.
You can add multiple steps at a time (at least one step must be added). |
8.5. Edit a Step in a Recipe: editStep
(Brian)
Edits the specified step in an existing recipe.
Format: editStep [recipe index] [step index] [s/new step]
Example: editStep 3 4 s/Edited new step
Replaces step 4 of recipe 3 with “Edited new step”. If you specify more than one step, only the first one will be used
to replace the old step.
8.6. Delete Steps in a Recipe: deleteStep
(Brian)
Deletes the specified step(s) from an existing recipe.
Format: deleteStep [recipe index] [step index] <step index>…
Example: deleteStep 3 2 3 5
Deletes steps 2, 3, and 5 of recipe 3.
You can delete multiple steps at a time (at least one step must be deleted). |
9. Filter Command (Brian)
This command is not to be confused with the Find
command, which only searches for recipes by their names. The
Filter
command is a more robust search command that allows you to search for recipes using various criteria.
You can combine the input of the next few subsections to filter the recipes by multiple criteria! |
9.1. Filter by ingredients (Brian)
Finds recipes that contains the specified ingredients.
Format: filter <ig/grain>… <iv/vegetable>… <ip/protein>… <if/fruit>… <io/other>…
Example 1: filter ig/Rice iv/Cabbage
Finds recipes that contains Rice and Cabbage.
Example 2: filter ig/exclude Pasta ip/Chicken
Finds recipes that does not contain Pasta and contains Chicken.
Notice the use of the keyword "exclude" in Example 2? Use this to exclude ingredients that you do not want! |
9.2. Filter by goals (Brian)
Finds recipes that are tagged with the specified goal.
Format: filter [g/goal] <g/goal>…
Example: filter g/Herbivore
Finds recipes that are tagged with the Herbivore
goal.
9.3. Filter by favourites (Brian)
Finds recipes that are tagged as favourites.
Format: filter favourites
9.4. Filter by preparation time (Brian)
Finds recipes that have preparation time less than or equals to the specified time (in minutes).
Format: filter [t/time] or [t/time range]
Example 1: filter t/15
Finds recipes that have 15 minutes or less of preparation time.
Example 2: filter t/20-30
Finds recipes that have 20 to 30 minutes (inclusive) of preparation time.
10. Planning Command (Beatrice)
Most of the planning commands take place in the planning tab.
Switch to the planning tab by typing switch planning
or by clicking on Planning from the Tab Panel.
You should get the following interface:
The Display Panel for the planing tab lists all the plans that you have made.
You can the see the details of each plan from the list of plans.
10.1. Plan a recipe: plan
(Beatrice)
Plans a recipe that you would like to cook on a certain day in the future.
Format: plan [recipe index] [d/yyyy-mm-dd]
Example 1: plan 1 d/2020-05-27
Plans the recipe at recipe index 1 on 27 May 2020 and adds this plan into the plan list.
Example 2: plan 1 2 3 d/2020-05-27
Plans the recipes at recipe indexes 1, 2 and 3 on 27 May 2020 and adds these three plans into
the plan list.
As long as at least one index is specified, you can plan as many recipes as you want in one go. For example, we can
plan for five recipes in one command. plan 1 2 3 4 5 d/2020-05-27 will plan for the recipes at recipe indexes
1, 2, 3, 4 and 5 on 27 May 2020.
|
Valid indexes are integer numbers ranging from 1 to the current plan list size. If one of the indexes given was invalid, the command will not be successful. |
Valid dates start from the today’s date and are in the format yyyy-mm-dd. This means that we cannot make a plan on yesterday’s date. |
10.2. Delete a plan: deletePlan
(Beatrice)
Deletes a plan.
Format: deletePlan [plan index]…
Example 1: deletePlan 3
Deletes the 3rd plan.
Example 2: deletePlan 3 5 8
Deletes the 3rd, 5th and 8th plan.
As long as at least one index is specified, you can delete as many plans as you want in one go. For example, we can
delete five plans in one command. deletePlan 1 2 3 4 5 will delete all plans at plan indexes 1, 2, 3, 4 and 5.
|
Valid indexes are integer numbers ranging from 1 to the current plan list size. If one of the indexes given was invalid, the command will not be successful. |
Using the cooked command in Section 11.3, “Track cooked meals: cooked (Harshita)” will automatically delete today’s plan for
the recipe that is cooked.
|
10.3. Clear all planned recipes: clearPlan
(Beatrice)
Clears all the plans you have made.
Format: clearPlan
All plans will be removed. |
You can undo this command if it was performed by accident.
|
10.4. Obtain ingredients for planned recipes: groceryList
(Beatrice)
Lists the ingredients needed for all recipes that have been planned.
Click on 'Copy' to copy all the ingredients into your clipboard.
Simplify your next grocery shopping experience by pasting this list into your preferred social networking
application (like Telegram or Whatsapp) and sending it to yourself for an easy reference from your
mobile phone.
Alternatively, you can paste the list into a word document and print it out.
You can print this list out by pasting the text into a word document to
Format: groceryList
If no plans have been made, the grocery list will not be generated. |
10.5. View this week’s planned recipes: viewWeek
[Coming in v2.0]
View all the plans for the week.
Format: viewWeek
10.6. View this month’s planned recipes: viewMonth
[Coming in v2.0]
View all the plans for the month.
Format: viewMonth
11. Goals Command (Harshita)
11.1. Remove goal: deleteGoal
(Harshita)
Deletes a goal that has been auto-generated through the addition or editing of a recipe from a specific recipe.
Format: deleteGoal [recipe index] [goal]
Example 1: deleteGoal 2 Bulk like the Hulk
Deletes goal named Bulk like the Hulk from the 2nd recipe if it exists.
Ensure that the capitalisation of the goal is the same! Check out listGoals if unsure.
|
11.2. List goals being tracked: listGoals
(Harshita)
Lists all goals tracked by HYBB.
Format: listGoals
Example 1: listGoals
Displays the 4 main goals being tracked in the Result Box.
11.3. Track cooked meals: cooked
(Harshita)
Tracks all cooked meals and adds to the progress of their respective goals.
Format: cooked [recipe index] <recipe index>…
Example 1: cooked 2
Marks the 2nd recipe as cooked.
You can mark multiple recipes as cooked at the same time (at least one recipe must be marked). |
Example 2: cooked 3 4 8
Marks the 3rd, 4th and 8th recipe as cooked.
If you specify a recipe number that has already been cooked within the day or does not exist in the list of recipes under the recipes tab, none of your selected recipes will be marked as cooked. |
If a plan for the recipe being cooked exists today, using cooked will automatically delete these plans.
|
A history of all cooked meals, along with a pie chart based on your meals cooked, can be found under the goals tab. |
The pie chart represents the goals tally according to your cooked meal history and models the Healthy Eating Plate! |
11.4. Show progress of goals: chart
[Coming in v2.0]
Shows weekly progress of respective goal through graph.
Format: chart [g/goal]
11.5. Analyse images added: analyse
[Coming in v2.0]
Auto-generates goals and statistics through the use of Artificial Intelligence.
12. Achievement Command (Yue Tong)
12.1. Add motivational quote : quote
Adds a quote by the user to the quote database to store for future(randomised) display of quote in Achievement tab.
Format: quote
[quote]
Example 1: quote Today was yesterday’s tomorrow
Adds quote "Today was yesterday’s tomorrow" to quote database.
12.2. Display streak: streak
[Coming in v2.0]
Displays line chart of all logged streaks by user
Format: streak
12.3. Remove quote: remove quote
[Coming in v2.0]
Removes quote indicated by user
Format: remove quote
[quote]
12.4. Remove quote: change quote
[Coming in v2.0]
Changes currently displayed quote to a new randomised one
Format: change quote
13. FAQ (Harshita)
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the
data of your previous HYBB folder.
Q: How does the auto-generation of goals work?
A: HYBB analyses the ingredients added or edited in a recipe and auto-generates goals for you. The recipe being tagged by a goal suggests that the minimum requirement per meal for the respective food group, as recommended by the National Institute of Health, has been met.
Q: Why is there a deleteGoal command and no addGoal command?
A: As this is the beta version of HYBB, the auto-generation of goals is designed to either accurately calculate quantity or err on the side of overestimation. This would allow you to remove any goal you deem inaccurate based on your own judgement. You can look forward to future releases which will integrate artificial intelligence into HYBB to auto-generate goals more accurately!
Q: Why are there no safeguards for adding ingredients?
A: Currently, HYBB is designed to help you manage your customized recipe list. Hence, the addition of ingredients and under which tag(ip/ iv/ ig/ if/ io/) they fall would be solely based on your judgement! For future releases, we will ensure more safeguards to prevent invalid inputs based on common knowledge.
Q: What are recipe indexes and plan indexes?
A: Recipe indexes are the numbers beside each recipe in the 'Recipes' tab.
On the other hand, plan indexes are the numbers beside each plan in the 'Planning' tab.
14. Glossary (Harshita)
Term | Definition |
---|---|
Command Line Interface |
Text-based interface used for entering commands. |
Healthy Eating Plate |
Refers to My Healthy Plate designed for Singaporeans by the Health Promotion Board. It is a visual guide that shows you what to eat in the right amounts for each meal, so that you can plan your portions accordingly. |
15. Command Summary
Command | Action |
---|---|
|
View help |
|
Switch to the desired tab |
|
List all recipes |
|
Find recipes by name |
|
Add a recipe |
|
Edit a recipe |
|
Delete recipes |
|
Favourite recipes |
|
Unfavourite recipes |
|
Clear the recipe book |
|
Exit the programme |
|
Add ingredients to a recipe |
|
Edit ingredients’ quantities in a recipe |
|
Delete ingredients in a recipe |
|
Add steps to a recipe |
|
Edit a step in a recipe |
|
Delete steps in a recipe |
|
Search for recipes by (multiple) criteria |
|
Plan recipes |
|
Delete plans |
|
Clear all plans |
|
List all ingredients used in the planned recipes |
|
Deletes specified goal from a recipe |
|
Lists all available goals |
|
Records a recipe as cooked |
|
Adds a new quote |