By: Team W10-4
Since: SEP 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Universal Commands
- 3.2. Recipes Commands (Only applicable in recipe context)
- 3.3. Ingredient Manager Commands (Only applicable in ingredient context)
- 3.4. Favourite Recipe Commands (Only applicable in favourites context)
- 3.5. Ingredient-Recipe Query Commands (Only applicable in cross context)
- 3.6. Meal Planner Commands (Only applicable in meal planner context)
- 3.7. Health Plan Commands (Only applicable in health plan context)
- 3.8. Cook-Mode Commands [coming in V2.0]
- 4. FAQ
- 5. Command Summary
1. Introduction
Souschef is your smart cooking sidekick, offering personalised guidance every step of the way. From recipe recommendations just for you, to meal planning and inventory management, Sous Chef has everything you need to improve life in the kitchen. The application works with a Command Line Interface (CLI) for speedy provision of recipe choices, management of your cooking plan while guiding you through the preparation process. With a few commands, this kitchen helper will be there to keep cooking as simple as ABC. Get started with Section 2, “Quick Start” and experience the fun from cooking meals.
2. Quick Start
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
souschef.jar
here. -
Copy the file to the folder you want to use as the home folder.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typing-help
and pressing Enter will open the help window. -
Some example commands you can try:
-
find KEYWORD…
: search for recipes related and excluded from the keywords (only within recipe context) -
-mealplanner
: Switch to meal planner context and display personal meal schedule -
-exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
3. Features
In Sous Chef, there are 2 types of command: universal commands and context-unique commands.
The universal commands can be used throughout the application and perform application-wide action. You can identify a
universal command from its "-" convention followed by a keyword (e.g. -exit).
The context-unique commands on the other hand are only valid for that context. (e.g. Section 3.2, “Recipes Commands (Only applicable in recipe context)” can only be
used in -recipe context). These commands contains only a action key word followed by the required parameters, if any. (e.g. select INDEX)
Command Format Convention
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME c/COOKTIME d/DIFFICULTY [t/TAG]
,NAME
,COOKTIME
andDIFFICULTY
andTAG
are parameters are to be replaced:add n/Fried Chicken d/2 c/20M t/Fastfood
. -
Items in square brackets are optional (i.e. can be omitted).
-
Items with
…
after them can be used multiple times e.g.[t/TAG]…
can be used 1 or more:t/Japanese
,t/Halal t/Seafood
etc. With[]
it can also be omitted totally too.
3.1. Universal Commands
3.1.1. View help: -help
To view the help menu containing all the universal commands.
Format:
-help
3.1.2. View history: -history
To view previous commands entered.
Format:
-history
3.1.3. Switch to recipe context: -recipe
Switch to recipe context and display recipes.
See Section 3.2, “Recipes Commands (Only applicable in recipe context)” to view commands for recipe context.
Format:
-recipe
3.1.4. Switch to ingredient manager context: -ingredient
Switch to ingredient manager context and display ingredient manager, which helps stock
tracking of ingredient that the user currently have.
See Section 3.3, “Ingredient Manager Commands (Only applicable in ingredient context)” to view commands for ingredient manager
context.
Format:
-ingredient
3.1.5. Switch to favourites context: -favourite
Switch to favourites context and display favourites list, which keeps a list of all
the users' favourite recipes.
See Section 3.4, “Favourite Recipe Commands (Only applicable in favourites context)” to view commands for favourites context.
Format:
-favourite
3.1.6. Switch to ingredient-recipe query context: -cross
Switch to ingredient-recipe query context and where you can sort, filter the recipe list by name of ingredients
included and get information of needed amounts of ingredients.
See Section 3.5, “Ingredient-Recipe Query Commands (Only applicable in cross context)” to view commands for ingredient-recipe
query context.
Format:
-cross
3.1.7. Switch to meal planner context: -mealplanner
Switch to meal planner context and display the planned meals for breakfast, lunch and dinner for previously planned days.
See Section 3.6, “Meal Planner Commands (Only applicable in meal planner context)” to view commands for meal planner context.
Format:
-mealplanner
3.1.8. Switch to health plan context: -healthplan
Switch to health plan context and display health plan set by the user and the days added into the plan which is tied
to meal plans.
See Section 3.7, “Health Plan Commands (Only applicable in health plan context)” to view commands for health plan context.
Format:
-healthplan
3.1.9. Exit application: -exit
Format:
-exit
3.2. Recipes Commands (Only applicable in recipe context)
3.2.1. List recipes: list
Show all recipes.
Format:
list
3.2.2. Add a recipe: add
cont
end
Add new recipe.
Format:
add n/NAME c/COOKTIME d/DIFFICULTY [t/TAG]…
cont i/INSTRUCTION… [c/COOKTIME]
cont…
end
INSTRUCTION:
TEXT… [#INGREDIENT_NAME AMOUNT SERVING_UNIT]…
Full set of commands |
Examples:
-
add n/Chicken Rice d/2 c/45M
cont i/Clean and cut #chicken 1.2 kg.
cont i/Put the chicken in #boiled water 900 ml for 10 mins. c/10M
cont i/Remove the chicken and put #soy sauce 100 ml.
cont i/Cook for another 20 mins. c/20M
end
3.2.3. Edit a recipe: edit
Edit new recipe.
Format:
edit INDEX [n/NAME] [c/COOKTIME] [d/DIFFICULTY] [t/TAG]…
or
edit INDEX s/STEP i/INSTRUCTION [c/COOKTIME]
INSTRUCTION:
TEXT… [#INGREDIENT_NAME AMOUNT SERVING_UNIT]…
Examples:
-
edit 1 c/20M t/Asian t/Staple
-
edit 1 s/2 i/Pour #water 300 ml into the mix.
3.2.4. Display recipe details: select
View a recipe and its details from the list.
Format:
select INDEX
3.2.5. Search recipes: find
Show recipes related to the keyword(s).
Keywords include but not limited to cuisines (Indian, Japanese),
dietary types (Vegetarian, Halal),
ingredients (egg, broccoli),
preparation time (30M, 1H40M)
and difficulty (1, 2, …, 5).
Format:
find KEYWORD…
Examples:
-
find rice asian 3
-
find korean kimchi staple
3.2.6. Delete recipe: delete
Delete a recipe and its details from the list.
Format:
delete INDEX
3.2.7. Activate cook-mode [coming in V2.0]: cook
A cook mode that provides step-by-step guidance to aid real-time cooking.
Format:
cook INDEX
3.2.8. Add recipe to favourite: favourite
Add a recipe to their favourites list.
Format:
favourite INDEX
3.2.9. Surprise: surprise
Displays a random recipe for the user. If you cannot make up your mind,
why not key this in for a surprise?
Format:
surprise
==== Add to meal plan: plan
Add a specified recipe to meal plan.
Format:
plan INDEX DATE MEAL
3.2.10. Add to review [coming in V2.0]: review
Add comment and rating to current recipe.
Format:
review [COMMENT] RATING
3.3. Ingredient Manager Commands (Only applicable in ingredient context)
3.3.1. Add an ingredient: add
Adds an ingredient to the ingredient manager.
Format:
add NAME AMOUNT SERVING_UNIT DATE
3.3.2. Sort and list all ingredients: list
Shows a list of ingredients in ingredient manager. Ingredients are sorted by date, so that the ingredients with
earlier date
are placed high in order.
Format:
list
3.3.3. Edit ingredient info: edit
Edit an existing ingredient in ingredient manager.
Format:
edit INDEX FIELD_NAME NEW_VALUE [MORE FIELD_NAME NEW_VALUE]…
3.3.4. Find ingredient: find
Find ingredients in ingredient manager whose name contains any of the given keywords.
Format:
find KEYWORD [MORE_KEYWORDS]…
3.3.5. Delete ingredient: delete
Delete ingredient in ingredient manager according to its index in the last shown list.
Format:
delete INDEX
3.3.6. Clear all ingredients: clear
Clears all ingredients in ingredient manager.
Format:
clear
3.4. Favourite Recipe Commands (Only applicable in favourites context)
3.4.1. List favourite recipes: list
Show all favourite recipes.
Format:
list
3.4.2. Display favourite recipe details: select
View a favourite recipe and its details from the list.
Format:
select INDEX
3.4.3. Find favourite recipe: find
Show favourite recipes related to the keyword(s).
Keywords include but not limited to cuisines (Indian, Japanese),
dietary types (Vegetarian, Halal),
ingredients (egg, broccoli),
preparation time (30M, 1H40M)
and difficulty (1, 2, …, 5).
Format:
find KEYWORD…
Examples:
-
find rice asian 3
-
find korean kimchi staple
3.4.4. Delete favourite recipe: delete
Delete favourite recipe in favourites according to its index in the last shown list.
Format:
delete INDEX
3.4.5. Clear all favourite recipes: clear
Clears all favourite recipes in favourites.
Format:
clear
3.5. Ingredient-Recipe Query Commands (Only applicable in cross context)
3.5.1. View Recipes based on Ingredients view
By default, the page show the recipe list that is same with the recipe list shown in recipe context at the point of
initiation of the
application. User can
filter or sort the recipes
based on ingredients contained in recipes. Also, needed amounts of ingredients are calculated by considering the number
of
serving units and ingredients stored in ingredient manager, so
that
user can take a look by applying select command later.
Format:
view NUMBER_OF_SERVINGS [include [inventory] KEYWORD [MORE_KEYWORDS]…] [prioritize [inventory] KEYWORD
[MORE_KEYWORDS]…]
3.5.2. View needed amounts of ingredients for a Recipe select
For a recipe in the list shown as a result of above command(3.4.1.), user can view amounts of respective ingredient
in the recipe
that
needs to be additionally prepared. It reflects number of serving units and
refers to Ingredient Manager to get the amount of ingredients the user currently have.
Format:
select INDEX
3.5.3. List all recipes and undo calculation: list
Shows a list of recipes. It restores the default state of the list, undoing the calculation resulting from 'view
recipes based on ingredients'
command(3.4.1.).
Format:
list
3.6. Meal Planner Commands (Only applicable in meal planner context)
3.6.1. Delete recipe: delete
After displaying the meal planner, deletes the specified day.
Format: delete INDEX
Clears all the meal slots of the meal planner.
Format: clear
3.6.2. Select recipe: select
Selects and views the details of a recipe at a specified meal slot of a specified day.
Format: select INDEX MEAL
3.6.4. List all recipes: list
Lists all the currently planned Days in the Meal Planner.
Format: list
3.7. Health Plan Commands (Only applicable in health plan context)
3.7.1. Add plan: add
Adds a health plan under the user.
Required parameters are NAME, AGE, CURRENT HEIGHT, CURRENT WEIGHT,
TARGET WEIGHT, AND DURATION
Format:
add n/NAME a/AGE h/HEIGHT w/CURRENT_WEIGHT t/TARGET_WEIGHT d/DURATION
3.7.2. Delete plan: delete
After listing the list of health plans by user.
Deletes the plan selected by user.
Format:
delete INDEX
3.7.3. Edit plan: edit
After listing the list of health plans by User.
Prompts for edit on the plan selected by the user.
Format :
edit INDEX [n/NAME] [a/AGE] [t/TARGET_WEIGHT] [h/HEIGHT] [w/CURRENT_WEIGHT] [d/DURATION]
3.7.4. Add current intake item: addDay
After being shown the meal planner list by the system
User selects to add to intake List
Format:
addDay p/PLAN_INDEX d/DAY_INDEX
3.7.5. Remove current intake item: deleteDay
After being shown the list of days from intake list
User selects day to remove and also the plan to remove from
Format:
deleteDay p/PLAN_INDEX d/DAY_INDEX
3.7.6. Show Meal Planner list beside Health Plan List : showMeal
User enters command to view the full list of meals beside the health plan list
Format:
showMeal
3.7.7. Hide view on the right : hideMeal
User enters command to hide any view that is currently displayed on the right
Format:
hideMeal
3.7.8. View plan details : showDetails
After shown the list of health plans by the system
User enters command to see the details of the plan specified
Format:
showDetails INDEX
3.7.9. Compare overall intake against : compareIntake
[coming in V2.0]
After being shown list of health plans
User enters command to compare against set health plan.
Format:
compareIntake PLAN_ID
3.8. Cook-Mode Commands [coming in V2.0]
3.8.1. Next Instruction
Proceed to next instruction.
Format:
Hit Enter key
3.8.2. Previous Instruction: b
Revert to previous instruction.
Format:
b
/back
3.8.3. Start timer: s
Begin countdown timer.
Format:
s
/start
3.8.4. Pause timer: p
Pause countdown timer.
Format:
p
/pause
3.8.5. Reset timer: r
End/Reset countdown timer.
Format:
r
/reset
3.8.6. End cook-mode: end
To end step-by-step instruction of cook-mode.
Format:
end
4. FAQ
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 Souschef folder.
5. Command Summary
Universal Commands
-
View help:
-help
-
View history:
-history
-
Switch to recipe context:
-recipe
-
Switch to ingredient manager context:
-ingredient
-
Switch to ingredient-recipe query context:
-cross
-
Switch to meal planner context:
-mealplanner
-
Switch to health plan context:
-healthplan
-
Exit application:
-exit
Recipes Commands (Only applicable in recipe context)
-
List recipes:
list
-
Add a recipe:
add n/NAME c/COOKTIME d/DIFFICULTY [t/TAG]…
cont i/INSTRUCTION [c/COOKTIME]
cont…
end-
INSTRUCTION:
[TEXT]… [#INGREDIENT_NAME AMOUNT SERVING_UNIT]…
-
-
Edit a recipe:
edit INDEX [n/NAME] [c/COOKTIME] [d/DIFFICULTY] [t/TAG]…
or
edit INDEX s/STEP i/INSTRUCTION [c/COOKTIME]
-
INSTRUCTION:
TEXT… [#INGREDIENT_NAME AMOUNT SERVING_UNIT]…
-
-
Display recipe details:
select INDEX
-
Search recipes:
find KEYWORD…
-
Delete recipe details:
delete INDEX
-
Activate cook-mode [coming in V2.0]:
cook INDEX
-
Add recipe to favourite:
favourite
-
Add to meal plan:
plan INDEX DATE MEAL
-
Add to review [Coming in V2.0]:
review [COMMENT] RATING
Ingredient Manager Commands (Only applicable in ingredient context)
-
Add an ingredient:
add NAME AMOUNT SERVING_UNIT DATE
-
Sort and list all ingredients:
list
-
Edit ingredient info:
edit INDEX FIELD_NAME NEW_INFO [MORE FIELD_NAME NEW_INFO]…
-
Find ingredient:
find KEYWORD [MORE_KEYWORDS]…
-
Delete ingredient:
delete INDEX
-
Clear all ingredients:
clear
Recipe-Ingredient Query Commands (Only applicable in cross context)
-
View Recipe based on Ingredients:
view NUMBER_OF_SERVINGS [include [inventory] KEYWORD [MORE_KEYWORDS]…] [prioritize [inventory] KEYWORD [MORE_KEYWORDS]…]
-
View needed amount of ingredients for a Recipe:
select INDEX
-
List all recipes and undo calculation:
list
Meal Planner Commands (Only applicable in meal planner context)
-
Delete day:
delete INDEX
-
Clear planner:
clear
-
View recipe details:
select INDEX MEAL
-
Find recipe by date:
find DATE
-
List all recipes:
list
Health Plan Commands
-
Add health plan:
add n/NAME a/AGE h/HEIGHT w/CURRENT_WEIGHT t/TARGET_WEIGHT d/DURATION
-
Delete health plan
delete INDEX
-
Edit health plan:
edit INDEX [n/NAME] [a/AGE] [t/TARGET_WEIGHT] [h/HEIGHT] [w/CURRENT_WEIGHT] [d/DURATION]
-
Show all current meals planned in system:
showMeal
-
Hide panels on the right:
hideMeal
-
Show details of a health plan:
showDetails INDEX
-
Add a day from meal planner into a health plan:
addDay p/PLAN_INDEX d/DAY_INDEX
-
Remove a day from the list of meals in health plan:
deleteDay p/PLAN_INDEX d/DAY_INDEX
Cook-Mode Commands [coming in V2.0]
-
Next Instruction: Hit Enter key
-
Previous Instruction:
b
-
Start timer:
s
-
Pause timer:
p
-
Reset timer:
r
-
End cook-mode:
end