Welcome new bakers! If you're feeling overwhelmed by the chaos of baking, fret not because [Ba]king [Br]ead is here to save the day! We're here to help you manage the overwhelming number of ingredients in your kitchen and the endless recipes you have stored, making your baking experience a lot smoother!
[Ba]king [Br]ead will help you to:
Our application's command-line interface, coupled with your fast fingers, makes baking a whole lot more seamless and relaxing!
Long gone are the days when you have to rummage through your cupboards to see what you have. Now with [Ba]king [Br]ead, you will never forget what ingredient you need to stock up on during your next trip to the supermarket. And now, you will never have to flip through endless heavy physical recipe books just to find a recipe you like.
So, what are you waiting for? Master [Ba]king [Br]ead and fast-track your baking journey now!
This user guide contains all the information you will need in order to use [Ba]king [Br]ead. For new users, this document will also guide you in using the application, starting with the more essential features.
For new users:
For experienced users:
Listed below are the definitions of the terminology used throughout the User Guide
Term | Definition |
---|---|
GUI (Graphical User Interface) | The visual interface of [Ba]king [Br]ead |
Command | A set of words that execute a certain operation |
Parameter | Key information that a user specifies in a command |
UUID (Universally Unique IDentifier) | A unique number that is used to identify the recipes |
Case-insensitive | Parameters are not treated differently if they are in capitals or lower-case text. Eg. MILK is the same as milk |
Do also take note of the following highlighted information panels as we will be using this throughout the User Guide.
Note: Used to highlight essential information
Tip: Used to highlight helpful tips
Caution: Used to highlight errors to look out for
New to [Ba]king [Br]ead? Not to worry, simply follow the instructions below to get started!
Ensure you have Java 11
or above installed in your Computer.
Download the latest bakingbread.jar
from here.
Copy the file to the folder you want to use as the home folder for [Ba]king [Br]ead.
Double-click on the jar and a GUI similar to the one below should appear in a few seconds. If this does not work for you, check the FAQ
Some sample data has been preloaded into the application
The GUI may be confusing if you are a first time user of our application. Here is the breakdown of the GUI for [Ba]king [Br]ead.
Input box: This is where you will be inputting your commands.
Command result box: Where the application will return a message regarding the outcome of command inputted.
Ingredients list: Contain a list view of all your ingredients with their specified quantity and unit.
Recipe list: Contains a list view of all your recipes.
Time to add your first ingredient! Take any ingredient from your kitchen, weigh the quantity of that ingredient and let's get started!
Recipe adding is a little more complicated! But don't worry, you will get the hang of it in no time! Refer to the infographic below for step-by-step instructions on adding your first recipe.
And there you have it, your first recipe added to [Ba]king [Br]ead!
If you are stuck at any point, typing help
and pressing Enter will open the help window to guide you along.
Refer to the Features below for details of the other commands available!
Notes about the command format:
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in add n/NAME
, NAME
is a parameter which can be specified, like so:
add n/Milk
.
Items with …
after them can be used multiple times including zero times.
e.g. [NAME]…
can be used as (i.e. 0 times),
milk
, milk flour
etc.
Parameters can be in any order.
e.g. if the command specifies n/NAME q/QUANTITY
, q/QUANTITY n/NAME
is also acceptable.
Parameters are case-insensitive.
e.g. A parameter specified as n/Milk
is functionally identical to n/MILK
or n/milk
.
Extraneous parameters for commands that do not require parameters (such as help
, exit
, list
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
Parameter | Description | Constraints | Valid examples | Invalid examples |
---|---|---|---|---|
n/ | Name of the ingredient | Alphanumeric characters (a to z, A to Z, 0 to 9) | Flour, Chocolate Chip | Chocolate-Chip |
q/ | Quantity of the ingredient | Must be numeric and more than 0 | 1000, 1, 200 | -100, hundred, 0 |
u/ | Unit used to measure the ingredient | Must be one of the supported units | GRAM, KILOGRAM, PIECE | ML, L, TSP |
i/ | UUID of recipe | UUID must be at least 1 | 1, 2, 3 | 0, -1, 0.1 |
Unit | Alias |
---|---|
GRAM | g, gram, GRAM |
KILOGRAM | kg, kilogram, KILOGRAM |
PIECE | pc, pcs, piece, pieces, PIECE, PIECES |
help
If you are not sure how to use [Ba]king [Br]ead, this command will show a pop-up with a link to access the help page.
Format: help
add
Adds an ingredient to the stock.
Format: add n/NAME q/QUANTITY u/UNIT
Restrictions:
add n/flour q/50 u/PIECE
would throw an error.Examples:
add n/Flour q/1 u/kg
adds 1kg of Flour to the stock.add n/Milk q/600 u/g
adds 600g of Milk to the stock.Example Used: add n/Flour q/1 u/kg
Note: Sample started with 3kg of Flour in the stock.
Example Used: add n/Milk q/600 u/g
Note: Sample did not have any Milk in the stock.
use
Depletes a specified quantity of an ingredient from the stock.
Format: use n/NAME [q/QUANTITY] [u/UNIT]
use n/butters
will not work if the ingredient list contains butter
.Restrictions:
use n/flour q/50 u/PIECE
would throw an error.Examples:
use n/Milk q/600 u/g
Depletes the current quantity of milk by 600g.use n/Egg
Fully depletes the current quantity of egg.Example Used: use n/Milk q/600 u/g
Note: Sample started with 1kg of Milk in the stock.
stock
Filters the list of ingredients to only the specified ingredient(s).
Format: stock [NAME]…
stock Flour Butter
will list the quantities of both ingredients.Flou
will not match Flour
.stock butter
will display both butter
and butter stick
.Examples:
stock Butter
will show the Butter
ingredient in the list.stock Butter flour
will show both the Butter
and Flour
ingredient in the list.stock
lists all ingredients.Example used: stock butter
clear
Clears all ingredients from the ingredient stock.
Format: clear
Example used: clear
list
Lists all recipes that are currently stored in [Ba]king [Br]ead.
Format: list
Example Used: list
view
Views a specific recipe in [Ba]king [Br]ead.
Format: view UUID
UUID
must be an integer greater than or equal to 1.list
command.Examples:
view 1
views the recipe with UUID
of 1.view 21
views the recipe with UUID
of 21.Example Used: view 1
Note: Only recipes that are currently in the recipe list can be viewed.
addrecipe
Adds a new recipe to the recipe book. Each line in this command should be entered one by one.
Format:
addrecipe
NAME
(INGREDIENT_NAME) (INGREDIENT_QUANTITY)(INGREDIENT_UNIT)
⋮
steps start
1. STEP 1
2. STEP 2
⋮
complete recipe
(NAME) (QUANTITY)(UNIT)
, such as flour 100g
.(STEP_NUMBER). (STEP)
such as 1. Mix Water and Flour
.Note: There is no error message when inputting negative quantities for ingredients. As such, it is up to the user to ensure that a positive quantity is specified.
Example:
addrecipe
Bread
Water 100g
Flour 1kg
steps start
1. Mix Water and Flour
2. Bake at 180C
complete recipe
modify
Modifies the ingredients in a recipe.
Format: modify i/UUID n/NAME q/QUANTITY u/UNIT
UUID
must be an integer greater than or equal to 1.Example:
modify i/1 n/Flour q/100 u/g
modifies the Flour
ingredient in the recipe to 100 grams of flour.modify i/1 n/Flour q/100 u/g
adds the 100 grams of the Flour
ingredient to the recipe.Example Used: modify i/1 n/Flour q/100 u/g
Note: Recipe being modified has 200g of flour as part of the ingredient list
Example Used: modify i/1 n/Cream q/100 u/g
Note: Recipe being modified does not have cream in its ingredient list
Note: Only recipes that are currently in the recipe list can be modified.
Note: After a recipe has been modified, it will be pushed to the bottom of the recipe list.
delete
Deletes a specific recipe from [Ba]king [Br]ead when you longer need it.
Format: delete UUID
UUID
must be an integer greater than or equal to 1.UUID
should match one of the UUIDs of the existing recipes.Examples:
delete 1
deletes the recipe with UUID
of 1.delete 21
deletes the recipe with UUID
of 21.Note: Only recipes that are currently in the recipe list can be deleted.
search
Searches for recipes that include a specific ingredient.
Format: search NAME
NAME
cannot be empty.NAME
is case-insensitive.NAME
must be an exact match. As such, search chocolate
will not display recipes
that contain chocolate chips
.Examples:
search flour
searches for all recipes that use flour
search butter
searches for all recipes that use butter
Example used: search flour
Note: Multiple recipes use the ingredient flour
Example used: search blueberry
Note: Only one recipe uses the ingredient blueberry
exit
Exits the program.
Format: exit
Inventory and Recipe data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Note: When the application loads for the first time and no command is run, no inventory or recipe data will be saved.
Inventory data are saved automatically as a JSON file [JAR file location]/data/inventory.json
. Advanced users are welcome to update data directly by editing that data file.
Caution: If your changes to the data file makes its format invalid, all data will be discarded and you will start with an empty data file the next run. Hence, it is recommended to take a backup of the file before editing it.
Error Message | What to do |
---|---|
Unknown command | Ensure that the command specified is one of the commands mentioned within this document |
Invalid Command Format | Ensure that all parameters have specified and that none are left empty |
Names should only contain alphanumeric characters and spaces, and it should not be blank | Ensure that only letters and numbers are used for names |
Quantity has to be positive | Ensure that the quantity value specified is greater than 0 |
There is no recipe with the recipe UUID provided in the recipe book | Check the UUID of recipe attempting to use and ensure that it is correct |
The recipe UUID provided is invalid | Ensure that the UUID you have entered is valid (ie. it is a positive integer) |
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 [Ba]king [Br]ead home folder.
Q: The application does not run when I double-click it!
A: First, check if you have Java 11
installed in your computer. If you do and still have issues, try this: Open a command terminal, cd
into the
folder you put the jar file in, and use the java -jar bakingbread.jar
command to run the application.
Note: For AddRecipe
, each command is to be run line by line.
Action | Format, Examples |
---|---|
Add | add n/NAME q/QUANTITY u/UNIT e.g., add n/milk q/600 u/g |
Clear | clear |
Use | use n/NAME [q/QUANTITY] [u/UNIT] e.g., use n/milk q/200 u/g |
Stock | stock [NAME]… e.g., stock milk egg |
List | list |
View | view UUID e.g., view 1 |
AddRecipe | addrecipe NAME (INGREDIENT_NAME) (INGREDIENT_QUANTITY)(INGREDIENT_UNIT) steps start 1. STEP 1 complete recipe e.g., addrecipe Bread Water 100g Flour 1kg steps start 1. Mix Water with Flour complete recipe |
Delete | delete UUID e.g., delete 1 |
Search | search NAME e.g., search flour |
Modify | modify i/UUID n/NAME q/QUANTITY u/UNIT e.g., modify i/1 n/Flour q/100 u/g |
Help | help |
Exit | exit |