User Guide
Are you an avid chef with an overwhelming collection of delicious recipes? Or perhaps you just want a convenient way to store, access and share your recipes easily?
We understand that for brilliant and creative individuals like yourself, it is essential to properly manage your recipes, which is why RIZZipe is designed and built just for chefs like YOU to organize your recipes at the touch of a finger!
Using this Guide
- If you want to run RIZZipe for the first time, check out our handy Quick Start guide.
- If you want to learn how to use RIZZipe, refer to our Commands section for a detailed guide on how to run each command.
- For experienced developers interested in our design decisions, please refer to our Developer Guide.
- For experienced users, you may refer to the Command summary and Keyboard shortcuts summary for a summarised table of all the commands and keyboard shortcuts available.
Table of Contents
- Using this Guide
- Table of Contents
- Overview
- Quick Start
-
Commands
- How to interpret the command format
- Attributes
- Adding a recipe:
add
- Adding a recipe through form:
addf
- Listing all recipes:
list
- Editing a recipe:
edit
- Finding a recipe by name:
find
- Deleting a recipe:
delete
- Searching for substitutions for an ingredient:
sub
- Asking for assistance:
help
- Clearing the recipe book:
clear
- Exiting the program:
exit
- Managing the Data
- FAQ
- Command summary
- Keyboard shortcuts summary
Overview
The following subsections detail the functionality of RIZZipe and explain the various terminology and colour coding we will be using in this guide.
What is RIZZipe?
RIZZipe is a command-based recipe database that operates primarily on commands and behaves like a Command Line Interface (CLI).
RIZZipe comes equipped with numerous features, but we particularly love these three:
- Versatile tagging and powerful search function
- Recipe sharing
- Ingredient substitution searching
Give RIZZipe a try and utilise its many features to achieve your culinary rizz today!
Common colour codes in this guide
This is used to display tips to enhance your experience using RIZZipe!
This is used to display additional information that you may find useful!
Glossary
-
Command terminal: A terminal is a text input and output environment. It is a program that acts as a wrapper and allows us to enter commands that the computer processes. Open your terminal by:
- Searching and opening
Command Prompt
on Windows - Searching and opening
Terminal
on Mac
- Searching and opening
-
cd
: Command to change directory - Command Line Interface (CLI): A text-based user interface (UI) used to run programs, manage computer files and interact with the computer
- JSON: JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects
Quick Start
Let’s get you rizzed up in the fastest way possible!
- Ensure you have
Java 11
or above installed in your computer. - Download the latest
rizzipe.jar
here - Copy the file to the folder you want to use as the home folder for RIZZipe.
- Open a command terminal,
cd
into the folder you put the jar file in, and input thejava -jar rizzipe.jar
command to run the application. - A GUI similar to the below should appear in a few seconds. Note that our experienced chefs have already crafted
some sample recipes for you!
- Navigate through the main window easily using just your keyboard! Toggle between recipes simply by using the ↑ Up and ↓ Down arrow keys!
- Type commands within the command line interface (CLI) and press Enter to execute it. For a list of executable commands, refer to the Commands Section.
- Some of the previously mentioned executable commands may have keyboard shortcuts to make your life easier! Refer to each command within the Commands Section, or take a look at the Keyboard Shortcuts summary to learn more about how to use them!
Commands
RIZZipe is a command-driven application, which means its various features and functionalities can be accessed by executing various commands.
How to interpret the command format
Notes about the command format:
-
The first word is the type of command you are running.
i.e. for the inputdelete 5
, we are running thedelete
command. -
We use prefixes such as
n/
to label our arguments for the command. -
Words in
UPPER_CASE
are the parameters to be supplied by you.
i.e. inadd n/RECIPE_NAME
,RECIPE_NAME
is a parameter which can be used asadd Grilled Salmon
. -
Parameters in square brackets
[]
refer to optional parameters that can be omitted. i.e.n/RECIPE_NAME [d/RECIPE_DURATION]
can be used asn/Cheese Sandwich d/10 minutes
orn/Cheese Sandwich
. -
Parameters with
...
behind them can be used multiple times, including 0. i.e.[t/TAGS]...
can be used as<nothing>
(zero times),t/HALAL
,t/HALAL t/BREAKFAST
etc. -
Parameters can be in any order i.e. if a command specifies
n/RECIPE_NAME d/RECIPE_DURATION
, thend/RECIPE_DURATION n/RECIPE_NAME
is also acceptable. -
Excess parameters for commands that do not take in parameters (such as
help
,list
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Tip:
For better readability, we have included an optional multi-line command format for commands that may require multiple inputs (add, edit). After each input, you can include a line break by simply entering a backslash \ to move on to the next line to continue writing the next part of your command input! Note that you will not have to delete the backslash that appears before continuing to type!
Attributes
What is a recipe?
Recipes are the building blocks of RIZZipe! Each recipe consists of multiple attributes, which are listed in the recipe attributes table.
Pay close attention to these attributes, for they are crucial inputs to some of our commands mentioned below!
Recipe attributes table
Field | Prefix | Accepted Format | Compulsory? | Example |
---|---|---|---|---|
Name | n/ |
NAME NAME can contain these characters: A-Z a-z 0-9 - \ ' " and space . |
Yes |
Chicken Rice , Broccoli Stir-Fry
|
Duration | d/ |
DURATION UNIT DURATION is a positive integer, decimal number, or fraction UNIT can contain these characters: A-Z a-z and space
|
No |
3 hours , 30.5 minutes , 2/5 Time Intervals
|
Portion | p/ |
AMOUNT UNIT or AMOUNT "-" or "to" AMOUNT UNIT AMOUNT is a positive integer UNIT can contain these characters: A-Z a-z and space
|
No |
1 person , 3-5 people , 4 to 6 hungry individuals
|
Ingredients | i/ |
-n INGREDIENT_NAME [-a INGREDIENT_AMOUNT] [-e ESTIMATED_AMOUNT] [-cn COMMON_NAME] [-r REMARKS]...[-s SUBSTITUTION]... |
No | Refer to the “Ingredients” section below! |
Steps | s/ |
STEP STEP consists of 2 or more space-separated words, and can contain these characters: A-Z a-z 0-9 . , : ; ( ) - and space
|
No |
Serve well. , Bring 3 quarts water to a boil in a 5-qt. pot. , Season with salt; add pasta and cook, stirring occasionally.
|
Tags | t/ |
TAG TAG can contain these characters: A-Z a-z 0-9 and space
|
No |
Italian , Comfort Food , Gluten Free
|
What is an ingredient?
Ingredients are at the heart of recipes, and also comprise multiple attributes. The specification for recipe ingredients are listed in the table below:
Ingredient attributes table
Field | Prefix | Accepted Format | Compulsory? | Example |
---|---|---|---|---|
Name | -n |
INGREDIENT_NAME INGREDIENT_NAME can contain these characters: A-Z a-z - and space
|
Yes |
Salt , Soy Sauce , Barley-Wheat Bread
|
Amount | -a |
AMOUNT UNIT AMOUNT is a positive integer, decimal number, fraction, “a”, or “one” UNIT can contain these characters: A-Z a-z and space
|
No |
a pinch of , one pint , 3 fl oz , 4.5 grams , 2/3 cup
|
Estimated Amount | -e |
ESTIMATED_AMOUNT No restrictions on ESTIMATED_AMOUNT
|
No | Around 3 tablespoons |
Common Name | -cn |
COMMON_NAME COMMON_NAME can contain these characters: A-Z a-z - and space
|
No |
Eggplant , Saiyote
|
Remarks | -r |
REMARK REMARK can contain these characters: A-Z a-z and space
|
No |
Optional , Diced , thinly sliced
|
Substitutions | -s |
SUBSTITUTION SUBSTITUTION can contain these characters: A-Z a-z - and space
|
No |
Seaweed Flakes , Capsicum
|
Adding a recipe: add
Come up with a new innovative recipe and afraid that you’ll forget about it in the future,
or just want to share it with your friends? Simply run the add
command, and follow the prompts to save different
information about your recipe such as ingredients and steps!
Format: add n/RECIPE_NAME [d/RECIPE_DURATION] [p/RECIPE_PORTION] [t/RECIPE_TAGS]... [i/-n INGREDIENT_NAME [-a INGREDIENT_AMOUNT] [-e ESTIMATED AMOUNT] [-cn COMMON NAME] [-r REMARKS]... [-s SUBSTITUTION]...]... [s/RECIPE_STEPS]...
Example(s) of usage:
-
add n/Honey Chicken Rice
add n/Chicken Noodles d/20 minutes p/1-2 people i/-n chicken thigh -a 300 g i/-n noodles i/-n soy sauce -a 2 tablespoons -s salt
add n/Peanut Butter Sandwich t/breakfast s/Prepare bread and spread s/Using a knife, spread 2-3 scoops of peanut butter s/Serve and enjoy.
Additional information:
-
A recipe can have any number of steps, tags and ingredients (including 0)!
-
It is only compulsory to include the recipe name when you first add the recipe into recipe book!
-
Although optional, we do however suggest adding in the other fields if possible for your own future reference.
-
If you have multiple inputs for tags, steps or ingredients, treat each input as a separate field (i.e.
s/Step1 s/step2
). -
Similar to parameters, ingredient fields do not have to be input in order (
-a
can come before-n
etc.). -
However, for steps, please input the steps in the order that they are intended to be performed.
Tip:
When adding an ingredient, it is only compulsory to include the ingredient name. However, you can also add in additional details such as amount (RECOMMENDED) and substitutions etc.!
Adding a recipe through form: addf
Want to add a delicious new recipe but don’t want to type the whole long string of inputs at one go? Use our interactive form feature to add your favorite recipe to the recipe book today!
Format:
addf
Additional information:
- An empty pop-up form as shown in the image below will appear!
-
Tab to move on to the next input field, and shift+tab to go to the previous field!
-
A new row automatically pops up when you reach the last row for ingredients and steps. Once you’re done just click to the next field!
-
Note that multiple tags can be added with commas separators. (e.g.
Vegetarian, Halal
) -
Click on Save to add your recipe to the recipe book!
Listing all recipes: list
Ever forget how many recipes you have in your storage? Want to view ‘em all? Or
simply want to pick a recipe at random? Just run the list
command!
Format:
list
Additional information:
-
Lists all recipes that are in the storage, in the chronological order they were added.
-
Depending on the size of the window, the user may add multiple columns to display more recipes.
-
In order to zoom in on a particular recipe in the list, user can double-click on the corresponding recipe.
Tip:
The list
command can be used to reset the most recently searched list to the full recipe list after performing a find
command!
To navigate the list, you can use the ↑ Up and ↓ Down arrow keys (as previously mentioned in the QuickStart). While the recipe you want to zoom in on is selected, simply press P to view that particular recipe’s details!
Editing a recipe: edit
Made a mistake or just omitted some important details when you first stored your recipe in the recipe book?
Don’t fret, for the edit
command is here for you to supplement these new details to increase the rizz on your recipes!
Format:
edit INDEX [n/RECIPE_NAME] [d/RECIPE_DURATION] [p/RECIPE_PORTION] [t/RECIPE_TAGS]... [i/-n INGREDIENT_NAME [-a INGREDIENT_AMOUNT] [-e ESTIMATED AMOUNT] [-cn COMMON NAME] [-r REMARKS]... [-s SUBSTITUTION]...]... [s/RECIPE_STEPS]...
Additional information:
-
Edits the recipe at the specified index. The index refers to the index number shown in the displayed recipe list.
-
The index must be a positive integer 1,2,3,…
-
All existing values will be updated to the new input values!
-
When editing tags, ingredients and steps, all the existing values for these fields will be removed (i.e. adding of tags, ingredients and steps is not cumulative!)
-
You can remove the optional fields (all fields except for name) by simply typing the prefix without specifying any details after it (i.e. typing
i/
removes all ingredients)
Tips:
-
Alternatively, you can use the edit popup form to edit recipes (see below).
-
Note that the tags specified in the fields above still apply for ingredients, like
-n
.
As an alternative to typing the full command, we provide a popup form to edit a recipe! While the recipe you want to edit is being selected, simply press F to display the popup form for that particular recipe!
Finding a recipe by name: find
Have a certain recipe at the back of your mind that you want to refer to? Or want to look up all recipes associated with a specific tag or those containing a specific ingredient that you’re desperate to clear but have no idea what to pair it with?
find
helps to save your time scrolling through your whole list of recipes by displaying
only those that match any of your specified keywords straight away!
Format:
find [PROPERTY] KEYWORD [ADDITIONAL KEYWORDS]...
Supported properties: name
, tag
and ingredient
i.e. find name KEYWORD [ADDITIONAL KEYWORDS]...
, find tag KEYWORD [ADDITIONAL KEYWORDS]...
, find ingredient KEYWORD [ADDITIONAL KEYWORDS]...
Example(s) of usage:
-
find cheese
returns all recipes with the keywordcheese
in their recipe name -
find name pancakes sandwich
returns all recipes with the keywordpancakes
and/orsandwich
in their names
-
find tag western
returns all recipes with the tagwestern
-
find ingredient tofu
returns all recipes with the ingredienttofu
Additional information:
-
Adding a property behind
find
is optional, and if no property is specified,find
defaults to filtering byname
. -
All keyword queries are case-insensitive. e.g.
chicken
will matchChicken
-
Recipes matching at least one keyword will be returned, e.g. searching
sandwich fries
will match recipes namedcheese fries
andham sandwich
-
Recipes are listed in the chronological order that they were added.
-
The order of the keywords does not matter. e.g.
ham sandwich
will match a recipe namedsandwich ham
-
Only complete words will be matched. e.g.
chick
will not matchchicken
Deleting a recipe: delete
No longer like a certain recipe? Simply delete
it from the database by its index!
Format:
delete INDEX
Example(s) of usage:
-
list
followed bydelete 2
deletes the 2nd item stored in the recipe book. -
find chicken
, followed bydelete 1
will delete the 1st recipe in the displayed results of the find command.
Additional information:
-
Deletes the dish at the specified
INDEX
of the current list that is displayed. -
The index must be a positive integer 1, 2, 3, …
While the recipe you want to delete is selected, simply press the Delete or Backspace key and click on confirm to delete that particular recipe!
Searching for substitutions for an ingredient: sub
Short of a particular condiment or ingredient to complete your favourite recipe? Have no fear, for the sub
command
provides you with a hassle-free way to solve your problem by suggesting some common substitutions so that you can complete your
dish with an alternative ingredient!
Format:
sub INGREDIENT_NAME
Example(s) of usage:
-
sub chicken
returns a list of suggested substitutions for the ingredientchicken
Additional information:
-
sub
searches across your stored recipes and a preloaded suggested substitutions list to provide you with the most accurate and extensive list of substitutions! -
The search is case-insensitive, i.e.
sub salt
will return all stored substitutions forSalt
andsalt
across recipes. -
Only full words will be matched i.e.
sub chick
will not return stored substitutes forchicken
-
For inputs with multiple words, it will only match stored ingredients with the same full multi-word input (case-insensitive) i.e.
sub golden syrup
does not return substitutes forsyrup
-
The returned list of ingredients returned will not contain any duplicates.
Tip:
Adding a substitution together with an ingredient is recommended since it will boost the number of substitutions listed when that ingredient is queried in the future!
Asking for assistance: help
Unsure or unable to remember our list of commands and how to format your inputs? Fret not, as simply inputting
help
will save you from your woes!
Format:
help
Additional information:
-
help
links to this user guide, which is a quick way to refresh your memory on any command that might have slipped your mind!
Clearing the recipe book: clear
Want to change things up and start a new recipe book afresh? Simply run the clear
command to wipe the memory
and start afresh!
Format:
clear
clear
will clear your entire recipe book and there’s no going back!
Tip:
If you wish to save your data elsewhere first and then start afresh, consider using the Export feature first!
Exiting the program: exit
Done with cooking for the day?
Running exit
exits the program and closes the window!
Format:
exit
Tip:
Wondering if you have to save your data before exiting? Don’t worry, RIZZipe automatically saves your data whenever a command is executed, so any changes to your recipes will be saved immediately!
Managing the Data
Saving the data
Recipe data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Recipe data is saved as a JSON file in the following directory:
(Location where your Recipe Book JAR File `rizzipe.jar` is)
├── data
│ └── recipebook.json <== Your saved recipe JSON file
├── preferences.json
└── rizzipe.jar
For advanced users, you can change the default location which the recipebook data file is saved to. This can be done by creating a preferences.json
file in the base directory where the app is stored, and specifying userPrefsFilePath
in preferences.json
with the desired file path.
Editing the data file
Advanced users are welcome to update data directly by editing that data file located at the address above.
Importing data
Pressing F3 will open an import window from the main window (as shown in the image below). From there, select the JSON file to be imported using the selector.
Additional information:
- Only files with recipes that pass our formatting checks, and files with no duplicate recipes will be imported
- Any imported recipes will be added to your current recipe book!
Tip:
Alternatively, you can access the import function from the File tab in the top left corner of the main window.
Exporting data
The keyboard input F4 will open an export window from the main window (as shown in the image below). From there, input the file name of the JSON file to be exported and select the desired location for it to be saved!
Tip:
Alternatively, like the import function, you can access the export function via the File tab in the top left corner of the main window.
FAQ
Q: How do I transfer my data to another computer?
A: Export the current recipe book with our Export
function and send the JSON file to the other computer. On the other computer, run RIZZipe and use the Import
function to import all previously saved recipe files!
Command summary
Action | Format, Examples |
---|---|
Add |
add n/RECIPE_NAME [d/RECIPE_DURATION] [p/RECIPE_PORTION] [t/RECIPE_TAGS]... [i/-n INGREDIENT_NAME [-a INGREDIENT_AMOUNT] [-e ESTIMATED AMOUNT] [-cn COMMON NAME] [-r REMARKS]... [-s SUBSTITUTION]...]... [s/RECIPE_STEPS]... e.g. add n/Chicken Noodles d/20 minutes p/1-2 people i/-n chicken thigh -a 300 g i/-n noodles i/-n soy sauce -a 2 tablespoons -s salt
|
List | list |
Edit |
edit INDEX [n/RECIPE_NAME] [d/RECIPE_DURATION] [p/RECIPE_PORTION] [t/RECIPE_TAGS]... [i/-n INGREDIENT_NAME [-a INGREDIENT_AMOUNT] [-e ESTIMATED AMOUNT] [-cn COMMON NAME] [-r REMARKS]... [-s SUBSTITUTION]...]... [s/RECIPE_STEPS]... e.g. edit 2 n/Duck Rice p/1 person
|
Find |
find [PROPERTY] KEYWORD [ADDITIONAL KEYWORDS]... Valid properties: name , tag , ingredient e.g. find cheese rice , find name popcorn , find tag western , find ingredient tofu
|
Delete |
delete INDEX e.g. delete 2
|
Sub |
sub INGREDIENT_NAME e.g. sub salt
|
Clear | clear |
Help | help |
Exit | exit |
Keyboard shortcuts summary
Shortcut | Functionality |
---|---|
↑ Up and ↓ Down arrow keys in Main Window | Navigate through different recipes |
\ while inputting a long command | Provide line break for increased readability |
P while a recipe is selected | Open recipe details of selected recipe |
F while a recipe is selected | Open edit recipe form to edit the selected recipe |
Delete/Backspace while a recipe is selected | Delete the selected recipe (requires confirmation) |
F3 while in Main Window | Import a recipe book |
F4 while in Main Window | Export the current recipe book |