User Guide
Table of contents
(Contributed by all members)
- 1. Introduction
- 2. About this document
- 3. Quick start
- 4. Application layout
- 5. Features
- 6. Frequently asked questions (FAQs)
- 7. Command summary
- 8. Glossary
1. Introduction
(Contributed by all members)
Welcome to SimplyKitchen! ![]()
SimplyKitchen is a desktop application for food inventory management suited for household individuals who manage their kitchens’ food items.
SimplyKitchen is developed by 5 dedicated students who hope to assist and alleviate the problems you might encounter while managing your food inventory. With intuitive and practical features, SimplyKitchen can get your food management tasks done faster and more efficiently!
With a Command Line Interface (CLI), SimplyKitchen is best suited to those who can type fast and prefer using a keyboard. SimplyKitchen also uses a Graphical User Interface (GUI) to provide an aesthetic visualization of your food information for the ideal user experience.
SimplyKitchen hopes to empower you to work towards a Tidy Kitchen, with Tiny Wastage!
2. About this document
(Contributed by all members)
2.1. Main sections
This purpose of this User Guide is to provide you all the information you need when using our application in a clear and concise manner. Our User Guide is structured in a way to help you navigate to relevant sections easily. You may click on the hyperlinks to quickly jump to different sections of this document.
The Quick Start section guides you in setting up and launching the SimplyKitchen application on your computer.
The Application Layout section provides an overview of how the application looks like on your computer.
The Features section describes all the features of SimplyKitchen. It provides the purpose, command format, command conditions and step-by-step examples for each feature.
The FAQs section contains some Frequently Asked Questions about SimplyKitchen.
The Command Summary section acts as a quick reference point for all the features of SimplyKitchen.
Finally, the Glossary section provides explanations for the commonly used terms in this document and in the SimplyKitchen application.
2.2. Symbols
The table below provides the descriptions of the symbols used in this document:
| Symbol | Description |
|---|---|
| - Notes about command format - Additional information that may be relevant to you |
|
| - Warning: Information you should pay particular attention about | |
| - Tip: Information that may be helpful to you |
3. Quick start
(Contributed by Sagar Sureka)
This section will guide you in setting up and launching SimplyKitchen on your computer.
- Ensure that you have
Java 11or above installed on your computer. - Download the most recent
SimplyKitchen.jarfile from this link. - Copy the downloaded jar file into a folder which will be your home folder for SimplyKitchen.
-
Double click on the
SimplyKitchen.jarfile to launch the app. The SimplyKitchen main window, similar to the one shown in Figure 1, should appear in a few seconds.
Figure 1: SimplyKitchen main window
Problems launching the app?
In case the application does not start after you double-click on the SimplyKitchen.jar file, try doing the following based on your computer’s Operating System:
For Mac OS users:
- Launch the terminal and navigate to your SimplyKitchen home folder, or right-click on the folder and click on New Terminal at Folder.
- Enter
java -jar SimplyKitchen.jarinto the terminal.
For Windows users:
- Launch the command prompt and navigate to your SimplyKitchen home folder.
- Enter
java -jar SimplyKitchen.jarinto the command prompt.
SimplyKitchen should launch a few seconds after you have entered the command.
-
Notice how the application is populated with some sample data. Some food items from the sample data are expired and displayed in a separate pop-up window as shown in Figure 2.

Figure 2: The SimplyKitchen pop-up window displays all the expired food items.
- Start using the application by typing a command in the command box at the bottom. For example, typing
helpand then pressingEnterwill open the help window. - Refer to the Features section in this guide for help on how to use the app.
4. Application layout
(Contributed by Roland Yu)
This section provides an introduction to SimplyKitchen’s Graphical User Interface (GUI) layout.
Figure 3 details the main components:

Figure 3: Main components of SimplyKitchen
The table below provides the descriptions of the main components of the application:
| Component | Description |
|---|---|
| Menu Bar | A top bar with relevant accessible tabs for you to click on |
| Food List | A list of your food items |
| Expiring Food List | A list of your expiring food items |
| Expired Food Window | A pop-up window containing a list of your expired food items |
| Result Box | A panel which displays the response messages relevant to you while using the application |
| Command Box | A text field for you to type your commands |
Figure 4 provides a breakdown of the food item components displayed in the food list:

Figure 4: Components of a food item
The table below provides the descriptions of the displayed food item components:
| Component | Description |
|---|---|
| Description | The description of a food item |
| Tag | A tag to a food item. Tags are additional information that can be tagged to a food item. (e.g. spicy, for family, vegan) |
| Priority | The priority of a food item (i.e. high, medium or low) |
| Expiry Date | The expiry date of a food item |
| Quantity | The quantity of a food item. The quantity consists of 2 entities - value and unit. (e.g. 1 loaf, 3.5 g) |
5. Features
(Contributed by Jonah Tan)
This section contains information on the features and commands of SimplyKitchen.
Notes about the command format:
-
Items with the format
lower_case/refer to prefixes. They denote the different parameters.
The table below provides the descriptions of the relevant prefixes.Prefix Description a/Amount of a food item to change by d/Description of a food item e/Expiry date of a food item p/Priority of a food item q/Quantity of a food item t/Tag to a food item -
Words in
UPPER_CASErefer to information you have to provide.
e.g. Inadd d/DESCRIPTION,DESCRIPTIONrefers to the food description you are adding, such asadd d/cucumber. -
Items in square brackets are optional.
e.gd/DESCRIPTION e/EXPIRY_DATE [p/PRIORITY]can be used asd/bread e/30-09-2020or asd/bread e/30-09-2020 p/low. -
Parameters can be in any order.
e.g. If the command specifiesp/PRIORITY q/QUANTITY,q/QUANTITY p/PRIORITYis accepted. -
Ellipsis after a parameter indicates that multiple entries of that parameter can be given.
e.g. In[t/TAG]..., the command can have zero or more tags, such ast/spicy t/dog.
5.1. Basic commands
The commands in this section are the basic commands used to manipulate food items.
5.1.1. Adding a food item: add
(Contributed by Jonah Tan)
The add command stores a food item in your food inventory, so that you can start tracking it.
You can then access the food item later on for editing, deleting etc.
Format: add d/DESCRIPTION e/EXPIRY_DATE q/QUANTITY [p/PRIORITY] [t/TAG]...
- Duplicates cannot be added to the food inventory. (Please head to the glossary for an explanation for duplicate food items.)
- The description and tag can contain a maximum of 50 and 30 characters respectively, including whitespaces.
- The expiry date must be in the format of
DD-MM-YYYYorDD/MM/YYYY. - The quantity consists of 2 entities -
valueandunit. Thevalueshould come before theunit.- The
valueis compulsory. The maximum value allowed is 100,000.00. - The
unitis optional. If not provided, the default unit -unit- will be given.
- The
- The priority parameter is case insensitive, and can either be
high,mediumorlowand is optional. If a priority is not specified, the default priority will be set toLOW. - A food item can have any number of tags (including 0).
- If multiple of the same tags are entered, only the first tag will be added (i.e For
t/Frozen t/frozen t/FROZEN, onlyFrozenwill be added to the food item).
- If multiple of the same tags are entered, only the first tag will be added (i.e For
Examples:
-
add d/Canned tuna e/1-1-2021 q/1.5 can p/lowadds an item having descriptionCanned tuna, expiry date01-01-2021, quantity1.50 canand priorityLOW. -
add d/Banana pie e/20-11-2020 q/2 p/medium t/$15 t/contains nutsadds an item having descriptionBanana pie, expiry date20-11-2020, quantity2.00 unit, priorityMEDIUM, and tags$15andcontains nuts.
Steps:
- Type
add d/Banana pie e/20-11-2020 q/2 p/medium t/$15 t/contains nutsin the Command Box. See Figure 5. - Press
Enterto execute. See Figure 6.

Figure 5: Before the `add` command is executed

Figure 6: After the `add` command is executed
5.1.2. Editing a food item: edit
(Contributed by Roland Yu)
The edit command edits the details of an existing food item in your food inventory.
If an entry is incorrect, you can easily edit the entry without deleting and re-adding the food item.
Format: edit INDEX [d/DESCRIPTION] [e/EXPIRY_DATE] [q/QUANTITY] [p/PRIORITY] [t/TAG]...
- It edits the food item at the specified
INDEX.- The index refers to the index number shown in the displayed food list.
- The index must be a positive integer 1, 2, 3, …
- Existing values will be replaced with the values you input.
- When editing tags, the existing tags of the food item will be removed i.e adding of tags is not cumulative.
- You can remove all the tags of a food item by typing
t/without specifying any tags after it.
- You can remove all the tags of a food item by typing
- You cannot edit a food item into a duplicate. (Please head to the glossary for an explanation for duplicate food items.)
Note about the parameters:
The constraints for the individual parameters of this command (description, expiry date, quantity, priority and tags) are the same as those for the add command.
Examples:
-
edit 1 d/baked beans e/1-1-2020edits the food description and expiry date of the 1st food item to bebaked beansand01-01-2020respectively. -
edit 2 d/canned tuna q/0.5 can t/edits the food description of the 2nd food item to becanned tuna, quantity to0.50 canand clears all existing tags.
Steps:
- Type
edit 2 p/high e/25-11-2020in the Command Box. See Figure 7. - Press
Enterto execute. See Figure 8. Note that the priority has been changed toHIGHand the expiry date is changed to25-11-2020.

Figure 7: Before the `edit` command is executed

Figure 8: After the `edit` command is executed
5.1.3. Deleting a food item: delete
(Contributed by Ang Song Yi and Boh Cheng Hin)
The delete command deletes a specified food item from your food inventory, so that you can stop tracking it.
Format: delete INDEX
- It deletes the food item at the specified
INDEX.- The index refers to the index number shown in the displayed food list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
listfollowed bydelete 2deletes the 2nd food item in your food inventory. -
find d/tunafollowed bydelete 1deletes the 1st food item from the result of thefindcommand.
Steps:
- Type
delete 2in the Command Box. See Figure 9. - Press
Enterto execute. See Figure 10. Note that the banana pie is deleted.

Figure 9: Before the `delete` command is executed

Figure 10: After the `delete` command is executed
5.1.4. Changing the quantity of a food item: changeqty
(Contributed by Ang Song Yi)
The changeqty command changes the quantity of an existing food item in your food inventory without you having to calculate it yourself.
Use this command if you have bought new food items or used/discarded some existing food items.
Format: changeqty INDEX a/AMOUNT
- It changes the quantity of the food item at the specified
INDEX.- The index refers to the index number shown in the displayed food list.
- The index must be a positive integer 1, 2, 3, …
- The amount is the quantity of a food item you want to change by.
- The amount is a non-zero signed number with a maximum of 2 decimal places. It should be more than -100,000.00 and less than +100,000.00, but not 0.
- Indicate a positive or negative sign before the value to show increment or decrement respectively.
- Do not specify the unit of the food item. The existing unit will be used instead.
Constraint on the size of amount:
Choose an amount such that the final quantity of the food item is not less than or equal to 0, or more than 100,000.00.
For example, you have already added 50,000.00 grams of flour in your food inventory with the add command.
You can use the changeqty command to add 0.01 to 50,000.00 grams of flour or subtract 0.01 to 49,999.99 grams of flour.
If you have used up all the flour, use the delete command instead.
Examples:
-
listfollowed bychangeqty 1 a/+1increases the quantity of the 1st food item in your food inventory by 1. -
find d/tunafollowed bychangeqty 2 a/-2.50decreases the quantity of the 2nd food item from the result of thefindcommand by 2.50.
Steps:
- Type
changeqty 3 a/-0.5in the Command Box. See Figure 11. - Press
Enterto execute. See Figure 12. Note that the quantity of the chocolate cake is decreased by0.50 lb.

Figure 11: Before the `changeqty` command is executed

Figure 12: After the `changeqty` command is executed
5.2. Sorting commands
(Contributed by Roland Yu)
The commands in this section can be used to sort your food list. The variety of sorting commands below allows you to be flexible with the ordering of your food list, for a better user experience.
Note that sorting is permanent. Thus, the sorting order of your food list will remain after restarting the application.
Before the list of food items is sorted for the first time, it will be ordered by description by default.
Refer to the Sorting food items by description section for a detailed explanation of sorting by description.
5.2.1. Sorting food items by description: sortdesc
(Contributed by Roland Yu)
The sortdesc command sorts the list of food items by description in an intuitive alphabetical order.
Format: sortdesc
- Food items of the same description will be sorted by expiry date from oldest to newest.
- Food items of the same description and same expiry date will be sorted by priority from high to low.
Steps:
- Type
sortdescin the Command Box. See Figure 13. - Press
Enterto execute. See Figure 14.

Figure 13: Before the `sortdesc` command is executed

Figure 14: After the `sortdesc` command is executed
5.2.2. Sorting food items by expiry date: sortexpiry
(Contributed by Roland Yu)
The sortexpiry command sorts the list of food items by expiry date from oldest to newest. With this, you can easily tell which food items are expiring first.
Format: sortexpiry
- Food items of the same expiry date will be sorted by priority from high to low.
- Food items of the same expiry date and same priority will be sorted by description.
Steps:
- Type
sortexpiryin the Command Box. See Figure 15. - Press
Enterto execute. See Figure 16.

Figure 15: Before the `sortexpiry` command is executed

Figure 16: After the `sortexpiry` command is executed
5.2.3. Sorting food items by priority: sortpriority
(Contributed by Roland Yu)
The sortpriority command sorts the list of food items by priority from high to low. With this, you can easily tell which food items have higher priorities.
This feature allows you to order your food items according to your preference! Simply ensure that food items you want ordered higher in the food list are of higher priorities. You may do so when adding food items using the add command, or editing the
priority of food items using the edit command.
Format: sortpriority
- Food items of the same priority will be sorted by expiry date from oldest to newest.
- Food items of the same priority and same expiry date will be sorted by description.
Steps:
- Type
sortpriorityin the Command Box. See Figure 17. - Press
Enterto execute. See Figure 18.

Figure 17: Before the `sortpriority` command is executed

Figure 18: After the `sortpriority` command is executed
5.3. Viewing commands
The commands in this section are used when navigating food item information on the application.
5.3.1. Listing all food items: list
(Contributed by all members)
The list command shows the complete list of food items in your food inventory.
This command is suitable if you want to get a glimpse of all your food items currently in your kitchen.
Format: list
Steps:
- Type
listin the Command Box. See Figure 19. - Press
Enterto execute. See Figure 20.

Figure 19: Before the `list` command is executed

Figure 20: After the `list` command is executed
5.3.2. Finding food items: find
(Contributed by Jonah Tan and Boh Cheng Hin)
The find command searches for food items in your food inventory that match the search query and displays the result on your food list. You can easily find a specific food item, or a group of food items.
Format: find [d/DESCRIPTION [MORE_DESCRIPTIONS]...] [e/EXPIRY DATE] [p/PRIORITY] [t/TAG]...
- The search is case-insensitive (e.g
fishwill matchFish). - Only full words in description will be matched (e.g.
fiswill not matchfish). - Food items with description matching at least one keyword (i.e
ORsearch) will be returned (e.g.fishwill returnFish Cake,Tuna Fish). - Only full tags will be matched e.g.
nutswill not matchcontains nuts. - Food items with tags matching at least one of the search tags (i.e
ORsearch) will be returned (e.g.frozenwill return all food items with tagsfrozenregardless of their other tags).
Note about the parameters:
The constraints for the individual parameters of this command (each description in the descriptions parameter, expiry date, quantity, priority and tags) are the same as those for the add command.
Examples:
-
find d/apple tunacan returnApple PieandTuna Can. -
find e/30-12-2020returns all food items with expiry date on30-12-2020. -
find d/apple p/highcan returnApple PieandApple Jamif both items have aHIGHpriority.
-
find t/cat t/dogreturns all food items with the tagcatordog. -
find d/biscuits p/medium e/30-12-2020 t/cat t/dogreturns food items withbiscuitsin their descriptions,MEDIUMpriorities, expiry dates of30-12-2020and have eithercatordogas tags.
Steps:
- Type
find e/1-11-2021in the Command Box. See Figure 21. - Press
Enterto execute. See Figure 22.

Figure 21: Before the `find` command is executed

Figure 22: After the `find` command is executed
5.3.3. Viewing expired food items: expired
(Contributed by Ang Song Yi and Jonah Tan)
When you launch the application, it checks for any expired food items present in your food inventory. This lets you easily see what food items have expired.
If there are any expired food items, a pop-up window similar to the one shown in Figure 24 will appear with the list of expired food item(s).
If you want to see the pop-up window while using the application, you can use the expired command.
Format: expired
Steps:
- Type
expiredin the Command Box. See Figure 23. - Press
Enterto execute. See Figure 24.

Figure 23: Before the `expired` command is executed

Figure 24: After the `expired` command is executed
Updating your food inventory:
If you have discarded the expired food item, please remember to delete the associated food item from the application using the delete command.
5.4. Miscellaneous commands
These are additional commands you can use to enhance your experience with SimplyKitchen.
5.4.1. Undoing previous command: undo
(Contributed by Boh Cheng Hin)
The undo command restores your food inventory to a state before an undoable command was executed. This lets you easily correct mistakes made on your food inventory.
Undoable commands are commands that modify your food inventory’s content (add, edit, delete , changeqty and clear) and commands that sort food items (sortdesc, sortexpiry, sortpriority).
Format: undo
Note that the undo/redo history will be cleared when you exit the application!
Examples:
-
delete 1followed byundowill reverse thedeletecommand. -
delete 1followed byclearthenundowill reverse theclearcommand.
Steps:
- Type
undoin the Command Box. See Figure 25. - Press
Enterto execute. See Figure 26.

Figure 25: Before the `undo` command is executed

Figure 26: After the `undo` command is executed
5.4.2. Redoing previously undone command: redo
(Contributed by Boh Cheng Hin)
The redo command restores your food inventory to a state before an undo command was executed. This lets you easily redo commands that were incorrectly undone.
Format: redo
Note that the undo/redo history will be cleared when you exit the application!
Examples:
-
add d/Donut p/medium e/21-2-2021followed byundothenredowill reverse the state to when the food item was added. -
clearfollowed byundothenredowill redo theclearcommand.
Steps:
- Type
redoin the Command Box. See Figure 27. - Press
Enterto execute. See Figure 28. Note that the apple pie has been re-deleted.

Figure 27: Before the `redo` command is executed

Figure 28: After the `redo` command is executed
5.4.3. Clearing all entries: clear
(Contributed by Ang Song Yi)
The clear command clears all entries from your food inventory. This lets you easily clear the sample data, or start on a clean food inventory.
Format: clear
Steps:
- Type
clearin the Command Box. See Figure 29. - Press
Enterto execute. See Figure 30.

Figure 29: Before the `clear` command is executed

Figure 30: After the `clear` command is executed
Note that the data saved in your hard disk will be cleared when you use this command!
5.4.4. Viewing help: help
(Contributed by Ang Song Yi and Boh Cheng Hin)
The help command shows a help message explaining how to access the user guide.
After entering this command, you should see a pop-up window similar to the one shown in Figure 32.
Format: help
Steps:
- Type
helpin the Command Box. See Figure 31. - Press
Enterto execute. See Figure 32.

Figure 31: Before the `help` command is executed

Figure 32: After the `help` command is executed
5.4.5. Exiting the program: exit
(Contributed by all members)
The exit command closes the application. This lets you easily exit the application from the CLI.
Format: exit
Steps:
- Type
exitin the Command Box. See Figure 33. - Press
Enterto execute.

Figure 33: Before the `exit` command is executed
5.5. Saving the data
(Contributed by all members)
Your food inventory data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
6. Frequently asked questions (FAQs)
(Contributed by all members)
Q: How do I transfer my data to another computer?
A: Install the application in the other computer and overwrite the empty data file it creates with the data file in your previous SimplyKitchen home folder.
Q: What are the design and implementation considerations behind SimplyKitchen’s code?
A: You may find this information at our Developer Guide.
Q: How do I report a bug?
A: You may do so by creating a new issue in our GitHub Repository.
Q: What does SimplyKitchen consider as a duplicate food item?
A: In SimplyKitchen, two food items are duplicates if they have the same description, expiry date and tags.
- All the
tagsmust be the same. - The capitalisation of the characters in the
descriptionortagis ignored while checking for duplicates. - The
priorityandquantityof food items are not considered while checking for duplicates.
Figure 34 shows what the application will look like if you try to add a duplicate food item.
In this case, the description, expiry date and tag of the food item to be added is the same as the food item already inside the food inventory.
Therefore, the food item to be added is considered a duplicate.

Figure 34: The result box displays an error message when adding a duplicate food item.
7. Command summary
(Contributed by all members)
| Action | Format, Examples |
|---|---|
| Add |
add d/DESCRIPTION e/EXPIRY_DATE q/QUANTITY [p/PRIORITY] [t/TAG]...e.g. add d/cereal e/31-10-2020 q/2 p/medium t/corn flakes
|
| Edit |
edit INDEX [d/DESCRIPTION] [e/EXPIRY_DATE] [q/QUANTITY] [p/PRIORITY] [t/TAG]...e.g. edit 1 d/baked beans e/1-1-2020 q/1.5 can
|
| Delete |
delete INDEX e.g. delete 3
|
| Change quantity |
changeqty INDEX a/AMOUNT e.g. changeqty 1 a/+1.50
|
| Sort by description | sortdesc |
| Sort by expiry date | sortexpiry |
| Sort by priority | sortpriority |
| List | list |
| Find |
find [d/DESCRIPTION [MORE_DESCRIPTIONS]...] [e/EXPIRY DATE] [p/PRIORITY] [t/TAG]...e.g. find d/biscuits e/30-12-2020 p/medium t/cat t/dog
|
| View expired food items | expired |
| Undo | undo |
| Redo | redo |
| Clear | clear |
| Help | help |
| Exit | exit |
8. Glossary
(Contributed by all members)
| Term | Definition/Description |
|---|---|
| Case insensitive | Treating or interpreting uppercase and lowercase letters as being the same. |
| CLI | Command Line Interface. It is a form of user and computer interaction where the user inputs commands in the form of text. Users will utilise a CLI to input commands into SimplyKitchen. |
| Command prompt | A CLI system for Windows which allows users to control their Operating System by entering commands. |
| Duplicate food item | A food item is considered a duplicate if its description, expiry date and tags are all the same as another food item in the food inventory. |
| Expiring food item | A food item is “expiring” if its expiry date is from today, to 7 days after today. For instance, if today is 7-11-2020, food items that expire from 7-11-2020 to 14-11-2020 are deemed as “expiring”. |
| Food inventory | A complete list of food items stored in Simply Kitchen. |
| GUI | Graphical User Interface. It is a form of user and computer interaction that allows the user to interact via graphical icons such as buttons, scroll bars and windows. SimplyKitchen has a GUI for the user to interact with. |
| Mainstream OS | Windows, Linux, Unix, OS-X. |
| Terminal | A CLI system for Mac OS which allows users to control their Operating System by entering commands. |