From 5024f3bb1649d91caa01eff627397a26852829f0 Mon Sep 17 00:00:00 2001 From: Guan Quan <76832850+guanquann@users.noreply.github.com> Date: Mon, 15 Apr 2024 21:12:20 +0800 Subject: [PATCH 1/3] Standarise format of UG, ensure that instructions are clearer --- docs/UserGuide.md | 239 ++++++++++++++++++++++++++------------------- docs/images/Ui.png | Bin 57889 -> 50202 bytes 2 files changed, 140 insertions(+), 99 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0823b1e4267..14488454fdb 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -38,17 +38,17 @@ pageNav: 3 ## Introduction -GourmetGrid is a **desktop app to help small restaurant owners manage contact contacts and orders**, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, GourmetGrid can get your day-to-day contact management tasks done faster than traditional GUI apps. +GourmetGrid is a **desktop app to help small restaurant owners manage contacts and orders**, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, GourmetGrid can get your day-to-day contact management tasks done faster than traditional GUI apps. ## About -This user guide provides in-depth documentation on GourmetGrid installation process, system configuration and management. From setting up the app to managing contact contacts and orders efficiently, we cover everything you need to know to use GourmetGrid effectively. +This user guide provides in-depth documentation on GourmetGrid's installation process, system configuration and management. From setting up the app to managing contacts and orders efficiently, we cover everything you need to know to use GourmetGrid effectively. ### How to Use the Guide -- **Navigation**: Use the Table of Contents to find the sections relevant to your needs. This guide is structured logically from initial setup to more complex features, ensuring you would have a smooth learning curve. +- **Navigation**: Use the Table of Contents to find the sections relevant to your needs. This guide is structured logically from initial setup to more complex features, ensuring a smooth learning curve. - **Conventions**: Throughout this guide, you will find consistent use of terminology and conventions to simplify understanding. Key terms/features are defined, and step-by-step instructions and examples are clearly outlined for your convenience. @@ -57,14 +57,14 @@ This user guide provides in-depth documentation on GourmetGrid installation proc - **Examples**: Practical examples are provided to illustrate how features can be used in real-world scenarios. These are intended to give you a better understanding of how to apply the app's functionalities to meet your needs. -**Getting Started**: If you're new to GourmetGrid, we recommend starting with the 'Quick Start' section to get up and running quickly. From there, explore the 'Features' section to discover how to leverage GourmetGrid's full capabilities. +**Getting Started**: If you're new to GourmetGrid, we recommend starting with the [Quick Start](#quick-start) section to get up and running quickly. From there, explore the [Features](#features) section to discover how to leverage GourmetGrid's full capabilities. -------------------------------------------------------------------------------------------------------------------- -## Quick start +## Quick Start 1. Ensure you have Java `11` or above installed in your Computer. If not, you can download it from [here](https://www.oracle.com/java/technologies/downloads/#java11). @@ -90,7 +90,7 @@ This user guide provides in-depth documentation on GourmetGrid installation proc * `exit` : Exits the app. -1. Refer to the [Features](#features) below for details of each command. If unsure, you can also key in the command without additional arguments to check the expected command format, which will be shown in the response prompt. +1. Refer to the [Features](#features) below for details of each command. If unsure, you can also key in the command without additional arguments to check the expected command format, which will be shown in the status bar. -------------------------------------------------------------------------------------------------------------------- @@ -106,27 +106,21 @@ This user guide provides in-depth documentation on GourmetGrid installation proc * 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 used as `add n/John Doe`. - * Items in square brackets are optional.
e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/bulkseller` or as `n/John Doe`. - * Items with `…`​ after them can be used multiple times including zero times.
e.g. `[t/TAG]…​` can be used as ` ` (i.e. 0 times), `t/friend`, `t/friend t/family` etc. - * Parameters can be in any order.
e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. - * Parameters like `NAME` that follow flags like `n/` can be separated by any number of spaces.
e.g. `n/NAME`, `n/ NAME`, `n/ NAME` are valid and may be passed as arguments into commands. - * Extraneous parameters for commands that do not take in parameters (such as `help`, `list`, `exit` and `clear`) are not allowed.
e.g. if the command specifies `list 1`, you will be shown an error, to avoid ambiguity. - * If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application. @@ -140,17 +134,22 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS c/COMPANY [t/TAG]…​` **Notes:** -* Name should only contain alphanumeric characters, spaces, hyphens and/or apostrophes, and should not be blank. +* Name and company should only contain alphanumeric characters, spaces, hyphens and/or apostrophes, and should not be blank. + * Phone number should only contain numbers and should be at least 3 digits long. -* Address should not contain any reserved terms such as `t/` that indicate other parameters. + +* Address should not contain any words that begin with reserved terms (`n/`, `p/`, `e/`, `c/`, `t/`) that indicate other parameters. + * A contact can have any number of tags (including 0). -* Two contacts cannot share the same name, but can share other details including phone number and email. -Because a company phone can be used by multiple people, but the name is used to uniquely determine people. -If two contacts really share a name, find a way to uniquely identify them somehow! + +* Two contacts cannot share the same name, as names are used to uniquely identify individuals within the system. +However, contacts may share other details, such as phone numbers and email addresses, because items like a company phone can be associated with multiple people. +If individuals share the same name, additional identifiers must be used to distinguish them uniquely. Examples: * `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123 c/John's Burgers` + * `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/West Street 12 p/91234567 c/Great Vegs t/criminal` ### Listing all contacts : `list` @@ -169,23 +168,31 @@ Edits an existing contact in the contact list. Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [c/COMPANY] [t/TAG]…​` -* Edits the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer** 1, 2, 3, …​ +* Edits the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer** (1, 2, 3, …​). + * At least one of the optional fields must be provided. + * Existing values will be updated to the input values. + * You can remove all the contact’s tags by typing `t/` without specifying any tags after it. -* **Warning**: Making any edit to tags will replace all existing tags with the new tags. + + + +**Warning**: Making any edit to tags will replace all existing tags with the new tags. + Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st contact to be `91234567` and `johndoe@example.com` respectively. -* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. + +* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. ### Adding contacts as favourites : `addfav` -Adds the contacts specified by index as favourites +Adds specified contacts as favourites. Format: `addfav i/INDICES` -- Adds the contacts at the specified `INDICES` as favourites. The indices refer to comma-separated index numbers (i.e. index, index, index) shown in the displayed contact list. Each index **must be a positive integer** 1,2,3, ... +- Adds the contacts at the specified `INDICES` as favourites. The indices refer to comma-separated index numbers (i.e. index, index, index) shown in the displayed contact list. Each index **must be a positive integer** (1, 2, 3, …​). @@ -194,25 +201,31 @@ Format: `addfav i/INDICES` Positive Examples: - `addfav i/ 1` Sets the contact at index `1` as favourite -- `addfav i/ 1, 1, 1` Sets the contact at index `1` as favourite once + +- `addfav i/ 1, 1` Sets the contact at index `1` as favourite once + - `addfav i/ 1, 2, 5` Sets the contacts at the indices `1, 2, 5` as favourites Negative Examples: -- `addfav i/ -10, 0, -100`, `addfav i/ abc` and `addfav i/////` return an error message as the 'INDICES' field must consist of comma-separated positive integers -- `addfav i/ 10, 1` returns an error message as the 'INDICES' field must consist of valid index values which are positive integers from 1 to the total number of contacts in the contact list -- `addfav i/` returns an error message as the 'INDICES' field cannot be empty -- `addfav` returns an error message as it must be accompanied by the 'INDICES' field -- `addfav 1 i/ 2, 5` returns an error message as there should not be prefixes before the 'INDICES' field +- `addfav i/ -10, 0, -100`, `addfav i/ abc` and `addfav i/////` return an error message as the `INDICES` field must consist of comma-separated positive integers + +- `addfav i/ 10, 1` returns an error message as the `INDICES` field must consist of valid index values which are positive integers from 1 to the total number of contacts in the contact list + +- `addfav i/` returns an error message as the `INDICES` field cannot be empty + +- `addfav` returns an error message as it must be accompanied by the `INDICES` field + +- `addfav 1 i/ 2, 5` returns an error message as there should not be prefixes before the `INDICES` field ### Listing favourite contacts : `listfav` -Lists the contacts that are marked as favourites +Lists the contacts that are marked as favourites. Format: `listfav` -**Note:** `listfav` **updates** the displayed person list, so commands like `edit` that act with respect to the displayed person list will now act on the list displayed by `listfav`. The `list` command may be used to update the displayed person list to show all contacts again. +**Note:** `listfav` **updates** the displayed contact list, so commands like `edit` that act with respect to the displayed contact list will now act on the list displayed by `listfav`. The `list` command may be used to update the displayed contact list to show all contacts again. @@ -221,17 +234,19 @@ Format: `listfav` Examples: -- `listfav` Lists all favourited contacts as expected +- `listfav` Lists all favourite contacts as expected + - `listfav 1` returns an error message as there should not be arguments after the `listfav` command word + - `listfav hello` returns an error message as there should not be arguments after the `listfav` command word ### Removing contacts from favourites : `removefav` -- Removes the contacts specified by index as favourites +Removes the contacts specified by index as favourites. Format: `removefav i/INDICES` -- Removes the contacts at the specified `INDICES` from favourites. The indices refer to comma-separated index numbers (i.e. index, index, index) shown in the displayed contact list. Each index **must be a positive integer** 1,2,3, ... +- Removes the contacts at the specified `INDICES` from favourites. The indices refer to comma-separated index numbers (i.e. index, index, index) shown in the displayed contact list. Each index **must be a positive integer** (1, 2, 3, …​). @@ -240,64 +255,70 @@ Format: `removefav i/INDICES` Positive Examples: - `removefav i/ 1` Removes the contact at index `1` from favourites -- `removefav i/ 1, 1, 1` Removes the contact at index `1` as favourite once -- `removefav i/ 1, 2, 5` Removes the contacts at the indices `1, 2, 5` as favourites + +- `removefav i/ 1, 1` Removes the contact at index `1` from favourites once + +- `removefav i/ 1, 2, 5` Removes the contacts at the indices `1, 2, 5` from favourites Negative Examples: -- `removefav i/ -10, 0, -100`, `addfav i/ abc` and `addfav i/////` return an error message as the 'INDICES' field must consist of comma-separated positive integers -- `removefav i/ 10, 1` returns an error message as the 'INDICES' field must consist of valid index values which are positive integers from 1 to the total number of contacts in the contact list -- `removefav i/` returns an error message as the 'INDICES' field cannot be empty -- `removefav` returns an error message as it must be accompanied by the 'INDICES' field -- `removefav 1 i/ 2, 5` returns an error message as there should not be prefixes before the 'INDICES' field +- `removefav i/ -10, 0, -100`, `removefav i/ abc` and `removefav i/////` return an error message as the `INDICES` field must consist of comma-separated positive integers + +- `removefav i/ 10, 1` returns an error message as the `INDICES` field must consist of valid index values which are positive integers from 1 to the total number of contacts in the contact list + +- `removefav i/` returns an error message as the `INDICES` field cannot be empty + +- `removefav` returns an error message as it must be accompanied by the `INDICES` field + +- `removefav 1 i/ 2, 5` returns an error message as there should not be prefixes before the `INDICES` field ### Searching Contact : `find` Search feature supports substring search by name and/or tags and/or company **ONLY**. Finds all contacts whose names, tags or company matches the substring keyword provided. -Format: `find FIELD/KEYWORD [FIELD/KEYWORD]...` +Format: `find FIELD/KEYWORD [FIELD/KEYWORD]…​` - Where `FIELD` is either `n/` for name or `t/` for tag or `c/` for company. + - Each `FIELD` is optional BUT at least one `FIELD` and `KEYWORD` pair must be provided. -- `KEYWORD` is the keyword to search for, here are some rules: - - Name and Company should contain alphanumeric characters, spaces, hyphens and/or apostrophes only. - - Tags should contain alphanumeric characters only. #### Search Guidelines -* 'KEYWORD' cannot be empty. - * e.g. `find n/` will **NOT** work as 'KEYWORD' cannot be empty. +* `KEYWORD` cannot be empty. + + * e.g. `find n/` will **NOT** work as `KEYWORD` cannot be empty.

+ +* `KEYWORD` and next `FIELD` should be separated by a space. + * e.g. `find n/John t/friends` will find all instances of John that have the tag friends, but `find n/Johnt/tfriends` will instead return an error since it assumes you are searching for `Johnt/tfriends` and there should not be non-alphabetic characters in the `KEYWORD` field.

-* 'KEYWORD' and next 'FIELD' should be separated by a space. - * e.g. `find n/John t/friends` will find all instances of John that have the tag friends, but `find n/Johnt/tfriends` will instead return an error since it assumes you are searching for 'Johnt/tfriends' and there should not be non-alphabetic characters in the 'KEYWORD' field. +* Multiple Search `FIELD`'s will be treated as a **Logical AND (&&)**. + * e.g. `find n/John n/Doe` will return all instances of John and Doe. -* Multiple Search 'FIELD's will be treated as a **Logical AND (&&)**. - * e.g. `find n/John n/Doe` will return all instances of John and Doe. - * e.g. `find n/John t/friends c/ Meat` will return all instances of John that are tagged as friends and have Meat in their company name. This means if there exists a contact with the name John that is tagged as friends but has a company Mat, it will not be returned. - * e.g. `find n/Ale n/le` can return contacts such as ["Alex Lew", "Alexis Lebrun", "Alec"] + * e.g. `find n/John t/friends c/ Meat` will return all instances of John that are tagged as friends and have Meat in their company name. This means if there exists a contact with the name John that is tagged as friends but has a company Mat, it will not be returned. + * e.g. `find n/Ale n/le` can return contacts such as ["Alex Lew", "Alexis Lebrun", "Alec"] -* 'KEYWORD' should **NOT** be empty and there should be at least one 'FIELD' and 'KEYWORD' pair. - * e.g. `find n/ t/` and `find ` will **NOT** work. +* `KEYWORD` should **NOT** be empty and there should be at least one `FIELD` and `KEYWORD` pair. + * e.g. `find n/ t/` and `find ` will **NOT** work.

-* There should not be prefixes before the first 'FIELD' and 'KEYWORD' pair. - * e.g. `find testing123 n/John` will **NOT** work. +* There should not be prefixes before the first `FIELD` and `KEYWORD` pair. + * e.g. `find testing123 n/John` will **NOT** work.

* The search is case-insensitive. - * e.g. `find n/hans` will match `Hans Niemann` and `Hans Zimmer` + * e.g. `find n/hans` will match `Hans Niemann` and `Hans Zimmer`

* The order of the keywords does not matter. - * e.g. Results of `find n/Hans n/Bo` will match the results of`find n/Bo n/Hans` + * e.g. Results of `find n/Hans n/Bo` will match the results of`find n/Bo n/Hans`

-* You can have multiple of the same 'FIELD's. - * e.g. `find n/J n/Do` will match names with `J` AND `Do`, like `John Doe` or `Dohnut Jibs` +* You can have multiple of the same `FIELD`'s. + * e.g. `find n/J n/Do` will match names with `J` AND `Do`, like `John Doe` or `Dohnut Jibs` Examples: * `find n/Joh` returns `john`, `John Doe` and `Johnann Sebastian Bach` @@ -306,14 +327,13 @@ Examples: * `find n/Alex t/friends` returns `Alex Yeoh` who is tagged as a `friend` -* `find n////` returns an error message as the 'KEYWORD' field must consist of alphanumeric characters, spaces, hyphens and/or apostrophes only. +* `find n////` returns an error message as the `KEYWORD` field must consist of alphanumeric characters, spaces, hyphens and/or apostrophes only. -* `find n/` or `find t/` or `find n/ t/` returns an error message as the 'KEYWORD' field cannot be empty +* `find n/` or `find t/` or `find n/ t/` returns an error message as the `KEYWORD` field cannot be empty -* `find` returns an error message as there should be at least one 'FIELD' and 'KEYWORD' pair +* `find` returns an error message as there should be at least one `FIELD` and `KEYWORD` pair -* `find testing123 n/John` returns an error message as there should not be - prefixes before the first 'FIELD' and 'KEYWORD' pair +* `find testing123 n/John` returns an error message as there should not be prefixes before the first `FIELD` and `KEYWORD` pair ### Adding an order : `addorder` @@ -321,29 +341,37 @@ Adds an order to a contact. Format: `addorder INDEX d/DATE r/REMARK` -* Adds an order to the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​) -* The date must be in the format `YYYY-MM-DD`, where `YYYY` is the year (all the digits, i.e. 2012), `MM` is the month (01 to 12) and `DD` is the day (01 to 31). For example, `2020-12-31`. +* Adds an order to the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​). + +* The date must be in the format `YYYY-MM-DD`, where `YYYY` is the year (all the digits, i.e. 2012), `MM` is the month (01 to 12) and `DD` is the day (01 to 31). + + * e.g. `2020-12-31` **Notes:** -* A contact can have any number of orders (including 0). -* You can add an order with the same remark and date to the same supplier multiple times. This is because we understand that you may want to quickly make duplicate orders when demand is high without the hassle of deleting your original order and adding back the updated version again. +* A contact can have any number of orders (including 0). + +* You can add multiple orders with identical remarks and dates to the same contact. This functionality is designed to accommodate the need for duplicating orders efficiently during periods of high demand, eliminating the need to delete and re-enter the original order. + +* Remark should not contain any words that begin with reserved term (`d/`) that indicate other parameter. Examples: * `addorder 1 d/2020-01-01 r/100 chicken wings` + * `addorder 1 r/20 * 150g lettuce d/2020-12-31` + * `addorder 2 r/20 tomatoes, 40 apples (green) d/2020-12-31` ### Listing orders : `listorder` -Shows a list of all orders for a contact, sorted **FIRST** by date from the earliest to the latest and then by the order they were added if the dates are the same. +Shows a list of all orders for a contact, sorted **first** by date from the earliest to the latest and **then** by the order they were added if the dates are the same. Format: `listorder INDEX` -* Shows a list of all orders for the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​) +* Shows a list of all orders for the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​). ### Deleting an order : `deleteorder` @@ -351,20 +379,30 @@ Deletes an order from a particular contact. Format: `deleteorder INDEX o/ORDER_INDEX` -* Deletes a particular order for the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​) -* The ORDER_INDEX refers to the index number shown in the displayed order list. The order index **must be a positive integer, starting from 1** (1, 2, 3, …​) +* Deletes a particular order for the contact at the specified `INDEX`. The index refers to the index number shown in the displayed contact list. The index **must be a positive integer, starting from 1** (1, 2, 3, …​). + +* The `ORDER_INDEX` refers to the index number shown in the displayed order list. The order index **must be a positive integer, starting from 1** (1, 2, 3, …​). -**Important Note on Order Index**: -The ORDER_INDEX is determined based on the chronological order of the orders' dates from earliest to the latest (if 2 orders have the same date, they will then be sorted in the order they were added), not the sequence in which the orders were added. This means the orders are sorted by their dates, with the earliest orders appearing first. Hence, it is suggested you first list the orders for a contact to determine the correct order index to delete. + + +**Note:** +- The `ORDER_INDEX` is determined based on the chronological order of the orders' dates from earliest to the latest (if 2 orders have the same date, they will then be sorted in the order they were added), not the sequence in which the orders were added. This means the orders are sorted by their dates, with the earliest orders appearing first. Hence, it is suggested you first list the orders for a contact to determine the correct order index to delete. + Examples: * Assuming the 1st contact has 3 orders that were added in the following order: + * `addorder 1 d/2020-01-01 r/100 chicken wings` + * `addorder 1 d/2020-01-02 r/200 chicken wings` + * `addorder 1 d/2019-12-31 r/300 chicken wings` -* `deleteorder 1 o/1` deletes the 1st order for the 1st contact in the contact list. Which in the above example will remove the order added by `addorder 1 d/2019-12-31 r/300 chicken wings` Since the orders are sorted by date when added to a contact -* `deleteorder 55 o/1` will return an error message if there is no 55th contact in the contact list and the index is invalid -* `deleteorder 1 o/55` will return an error message if there is no 55th order for the 1st contact in the contact list and the order index is invalid + +* `deleteorder 1 o/1` deletes the 1st order for the 1st contact in the contact list. In the above example, this will remove the order added by `addorder 1 d/2019-12-31 r/300 chicken wings` since the orders are sorted by date when added to a contact + +* `deleteorder 55 o/1` will return an error message if there is no 55th contact in the contact list + +* `deleteorder 1 o/55` will return an error message if there is no 55th order for the 1st contact in the contact list ### Deleting a contact : `delete` @@ -373,11 +411,14 @@ Deletes the specified contact from the contact list. Format: `delete INDEX` * Deletes the contact at the specified `INDEX`. + * The index refers to the index number shown in the displayed contact list. -* The index **must be a positive integer** 1, 2, 3, …​ + +* The index **must be a positive integer** (1, 2, 3, …​). Examples: * `list` followed by `delete 2` deletes the 2nd contact in the contact list. + * `find Betsy` followed by `delete 1` deletes the 1st contact in the results of the `find` command. ### Clearing all entries : `clear` @@ -394,7 +435,7 @@ Format: `clear` **Caution:** -`clear` command is irreversible as all entries will be lost. Be sure before using this command. +`clear` command is irreversible as all entries will be lost. ### Exiting the program : `exit` @@ -423,11 +464,11 @@ Format: `help` ### Saving the data -GourmetGrid data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually. +GourmetGrid data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually. ### Editing the data file -GourmetGrid data are saved automatically as a JSON file `[JAR file location]/data/gourmetgrid.json`. Advanced users are welcome to update data directly by editing that data file. +GourmetGrid data is saved automatically as a JSON file `[JAR file location]/data/gourmetgrid.json`. Advanced users are welcome to update data directly by editing that data file. @@ -447,7 +488,7 @@ Furthermore, certain edits can cause GourmetGrid to behave in unexpected ways (e ## Known issues -1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. +1. **When using multiple screens**, if you move the application to a secondary screen and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. 2. **When using non ASCII characters**, the application may not display the characters correctly. We currently only support ASCII characters, but we plan to support Unicode characters in the future. 3. **When operating on macOS**, the application may not show bolded text. This is a known issue with the JavaFX library on macOS. Click [here](https://github.com/javafxports/openjdk-jfx/issues/344) for more details. 4. **When using the `add` command**, if you use an address that contains a reserved term like `t/`, the rest of the address is taken as a different argument. This small complication is unavoidable by the way inputs are designed to be a continuous string. @@ -456,19 +497,19 @@ Furthermore, certain edits can cause GourmetGrid to behave in unexpected ways (e ## Command summary -| Action | Format, Examples | -|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS c/COMPANY [t/TAG]…​`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 c/Freshest Farm t/friend t/colleague` | -| **Clear** | `clear` | -| **Delete** | `delete INDEX`
e.g., `delete 3` | -| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [c/COMPANY] [t/TAG]…​`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` | -| **Find** | `find KEYWORD/ [KEYWORD]`
e.g., `find n/ James n/ T t/ friend t/ rich` | -| **Add Order** | `addorder INDEX d/DATE r/REMARK`
e.g., `addorder 1 d/ 2020-01-01 r/ 100 chicken wings` | -| **List Orders** | `listorder INDEX` | -| **Delete Order** | `deleteorder INDEX o/ORDER_INDEX`
e.g., `deleteorder 2 o/1` | -| **Add Favourite** | `addfav i/INDICES`
e.g., `addfav i/1,2` | -| **List Favourites** | `listfav` | -| **Remove Favourite** | `removefav i/INDICES`
e.g., `removefav i/2` | -| **List** | `list` | -| **Help** | `help` | -| **Exit** | `exit` | +| Action | Format, Examples | +|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS c/COMPANY [t/TAG]…​`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 c/Freshest Farm t/friend t/colleague` | +| **Clear** | `clear` | +| **Delete** | `delete INDEX`
e.g., `delete 3` | +| **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [c/COMPANY] [t/TAG]…​`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` | +| **Find** | `find FIELD/KEYWORD [FIELD/KEYWORD]…​`
e.g., `find n/James n/T t/friend t/rich` | +| **Add Order** | `addorder INDEX d/DATE r/REMARK`
e.g., `addorder 1 d/2020-01-01 r/100 chicken wings` | +| **List Orders** | `listorder INDEX`
e.g., `listorder 1` | +| **Delete Order** | `deleteorder INDEX o/ORDER_INDEX`
e.g., `deleteorder 2 o/1` | +| **Add Favourites** | `addfav i/INDICES`
e.g., `addfav i/1,2` | +| **List Favourites** | `listfav` | +| **Remove Favourites** | `removefav i/INDICES`
e.g., `removefav i/2` | +| **List** | `list` | +| **Help** | `help` | +| **Exit** | `exit` | diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 425dc4245454947c400d5dfca6be65d6f88b518e..36596522e2f4928ebc16cff7c6a8b60629ab4c88 100644 GIT binary patch literal 50202 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 literal 57889 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 Date: Mon, 15 Apr 2024 21:56:17 +0800 Subject: [PATCH 2/3] Make addorder note section message clearer --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 14488454fdb..88845023668 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -355,7 +355,7 @@ Format: `addorder INDEX d/DATE r/REMARK` * You can add multiple orders with identical remarks and dates to the same contact. This functionality is designed to accommodate the need for duplicating orders efficiently during periods of high demand, eliminating the need to delete and re-enter the original order. -* Remark should not contain any words that begin with reserved term (`d/`) that indicate other parameter. +* Remark should not contain any words that begin with reserved term (`d/`) that indicate the date parameter.
Examples: From 3164c82e7c297d7075c367af339c97b44f59cb0c Mon Sep 17 00:00:00 2001 From: Guan Quan <76832850+guanquann@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:16:05 +0800 Subject: [PATCH 3/3] Add links to table of content --- docs/UserGuide.md | 48 +++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 88845023668..392d8af317c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -7,29 +7,29 @@ pageNav: 3 # GourmetGrid User Guide -- Introduction -- About -- Quick Start -- Features - - Adding a contact : add - - Listing all contacts : list - - Editing a contact : edit - - Adding contacts as favourites : addfav - - Listing favourite contacts : listfav - - Removing contacts from favourites : removefav - - Searching contact : find - - Adding an order : addorder - - Listing orders : listorder - - Deleting an order: deleteorder - - Deleting a contact : delete - - Clearing all entries : clear - - Exiting a program : exit - - Viewing help : help - - Saving the data - - Editing the data file -- FAQ -- Known Issues -- Command Summary +- [Introduction](#introduction) +- [About](#about) +- [Quick Start](#quick-start) +- [Features](#features) + - [Adding a contact : add](#adding-a-contact-add) + - [Listing all contacts : list](#listing-all-contacts-list) + - [Editing a contact : edit](#editing-a-contact-edit) + - [Adding contacts as favourites : addfav](#adding-contacts-as-favourites-addfav) + - [Listing favourite contacts : listfav](#listing-favourite-contacts-listfav) + - [Removing contacts from favourites : removefav](#removing-contacts-from-favourites-removefav) + - [Searching contact : find](#searching-contact-find) + - [Adding an order : addorder](#adding-an-order-addorder) + - [Listing orders : listorder](#listing-orders-listorder) + - [Deleting an order: deleteorder](#deleting-an-order-deleteorder) + - [Deleting a contact : delete](#deleting-a-contact-delete) + - [Clearing all entries : clear](#clearing-all-entries-clear) + - [Exiting a program : exit](#exiting-the-program-exit) + - [Viewing help : help](#viewing-help-help) + - [Saving the data](#saving-the-data) + - [Editing the data file](#editing-the-data-file) +- [FAQ](#faq) +- [Known Issues](#known-issues) +- [Command Summary](#command-summary) -------------------------------------------------------------------------------------------------------------------- @@ -90,7 +90,7 @@ This user guide provides in-depth documentation on GourmetGrid's installation pr * `exit` : Exits the app. -1. Refer to the [Features](#features) below for details of each command. If unsure, you can also key in the command without additional arguments to check the expected command format, which will be shown in the status bar. +1. Refer to the [Features](#features) below for details of each command. If unsure, you can also key in the command without additional arguments to check the expected command format, which will be shown in the result display section. --------------------------------------------------------------------------------------------------------------------