Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update UG: Improve from PED #246

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 84 additions & 50 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@ WedLog is a desktop app for wedding planning, optimized for use via a Command Li
&emsp; 2.6.1 [Viewing help: `help`](#2-6-1-viewing-help-help)<br>
&emsp; 2.6.2 [Undoing last action: `undo`](#2-6-2-undoing-last-action-undo)<br>
&emsp; 2.6.3 [Redoing last action: `redo`](#2-6-3-redoing-last-action-redo)<br>
&emsp; 2.6.4 [Exiting the program: `exit`](#2-6-4-exiting-the-program-exit)<br>
&emsp; 2.6.4 [Redoing last action: `clear`](#2-6-4-clearing-guest-and-vendor-lists-clear)<br>
&emsp; 2.6.5 [Exiting the program: `exit`](#2-6-5-exiting-the-program-exit)<br>
3. [FAQ](#3-faq)
4. [Known Issues](#4-known-issues)
5. [Command Summary](#5-command-summary)<br>
6. [Appendices](#6-appendices)<br>
6.1. [Appendix A: Acceptable values for parameters](#6-1-appendix-a-acceptable-values-for-parameters)<br>
6.2. [Appendix B: Miscellaneous error messages](#6-2-appendix-b-miscellaneous-error-messages)
5. [Future implementations](#5-future-implementations)
6. [Command Summary](#6-command-summary)<br>
7. [Appendices](#7-appendices)<br>
7.1. [Appendix A: Acceptable values for parameters](#7-1-appendix-a-acceptable-values-for-parameters)<br>
7.2. [Appendix B: Miscellaneous error messages](#7-2-appendix-b-miscellaneous-error-messages)

--------------------------------------------------------------------------------------------------------------------

Expand All @@ -64,6 +66,8 @@ WedLog is a desktop app for wedding planning, optimized for use via a Command Li

**Notes about the command format:** <br />

* Words are defined to be any letters, numbers or special characters of length 1 or more (non-blank).

* Each parameter takes the form `x/ABC`, where the small letters and backslash (e.g. `x/`) represents the label,
and the words in upper case (e.g. `ABC`) represents the values.

Expand Down Expand Up @@ -106,7 +110,9 @@ Format: `guest add n/NAME [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/RSVP_STATUS] [tn/TA
> <br>
>- A guest can have any number of dietary requirements and tags (including 0).
> <br>
>- Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.
>- A person can be recorded as both a guest and vendor.
>(e.g. Even if there is a vendor named `Gia`, you are also able to add a guest named `Gia`)
>- Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.

Examples:
- `guest add n/Gina p/91234567 a/Blk 123 r/no`: Adds a guest named `Gina` with phone number `91234567`, address `Blk 123`,
Expand All @@ -120,9 +126,9 @@ Expected behaviour upon success:
- Displays a message showing the added guest.

Expected behaviour upon failure:
- As `NAME` is a compulsory parameter for guests, not providing this parameter would result
in the error message “Please specify the guest’s name using the format `n/NAME`”.
- Providing invalid values for parameters with input restrictions will also trigger error messages. Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters)
- As `NAME` is a compulsory parameter for vendors, not providing this parameter would result
in the error message “Invalid command format!” followed by instruction on guest add usage.
- Providing invalid values for parameters with input restrictions will also trigger error messages. Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters)
for details on acceptable values for each parameter, as well as the error message for invalid values.

--------------------------------------------------------------------------------------------------------------------
Expand All @@ -140,7 +146,9 @@ Format: `vendor add n/NAME [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…`
><br>
>- A vendor can have any number of tags (including 0).
><br>
>- Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.
>- A person can be recorded as both a guest and vendor.
>(e.g. Even if there is a guest named `Gia`, you are also able to add a vendor named `Gia`)
>- Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.

Examples:
- `vendor add n/Valerie Tan p/91234567 a/12 Buona Vista St`: Adds a vendor named `Valerie Tan` with phone number `91234567`
Expand All @@ -154,8 +162,8 @@ Expected behaviour upon success:

Expected behaviour upon failure:
- As `NAME` is a compulsory parameter for vendors, not providing this parameter would result
in the error message “Please specify the vendor’s name using the format `n/NAME`”.
- Providing invalid values for parameters with input restrictions will also trigger error messages. Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters)
in the error message “Invalid command format!” followed by instruction on vendor add usage.
- Providing invalid values for parameters with input restrictions will also trigger error messages. Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters)
for details on acceptable values for each parameter, as well as the error message for invalid values.

<br />
Expand Down Expand Up @@ -186,9 +194,8 @@ Expected behaviour upon success:
- Displays a message telling user which guest has been deleted.

Expected behaviour upon failure:
- Number out of index range, not a number, or no number: Displays error message “Please input a positive integer as the index”.
- Number does not correspond to any guest: Displays error message “The index you have provided does not correspond to any guest”.
- No input index: Displays error message “Please input an index”.
- Number out of index range: Displays error message "The guest index provided is invalid.".
- Input for index not a number, or no number: Displays error message "Invalid command format!" followed by instruction on guest delete usage.

--------------------------------------------------------------------------------------------------------------------

Expand All @@ -212,9 +219,8 @@ Expected behaviour upon success:
- Displays a message telling user which vendor has been deleted.

Expected behaviour upon failure:
- Number out of index range, not a number, or no number: Displays error message "Please input a positive integer as the index".
- Number does not correspond to any vendor: Displays error message "The number you have provided does not correspond to any vendor".
- No input number: Displays error message "Please input an index".
- Number out of index range: Displays error message "The vendor index provided is invalid.".
- Input for index not a number, or no number: Displays error message "Invalid command format!" followed by instruction on vendor delete usage.

<br />

Expand All @@ -239,7 +245,7 @@ Format: `guest edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [r/RSVP_STATU
><br>
>- An edit command requires at least 1 parameter.
><br>
>- Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.
>- Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.

Acceptable values for INDEX
- A positive integer (e.g. 1, 2, 3 ...)
Expand All @@ -253,10 +259,10 @@ Expected behaviour upon success:
- The index refers to the index number shown in the displayed guest list.

Expected behaviour upon failure:
- Index is not a number, or no index provided: Displays error message "Please input a positive integer as the index",
with instruction on the correct input format.
- Index does not correspond to any guest: Displays error message "The index provided does not reference any guest".
- No parameters provided: Displays error message "You must provide at least one parameter to edit".
(in order of priority)
- Index is not a number, or no index provided: Displays error message "Invalid command format!" followed by instruction on guest edit usage.
- No parameters provided: Displays error message "At least one field to edit must be provided.".
- Index does not correspond to any guest: Displays error message "The guest index provided is invalid.".

--------------------------------------------------------------------------------------------------------------------

Expand All @@ -278,7 +284,7 @@ Acceptable values for INDEX
><br>
>- An edit command requires at least 1 parameter.
><br>
>- Refer to [Appendix A](#6-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.
>- Refer to [Appendix A](#7-1-appendix-a-acceptable-values-for-parameters) for more details on the acceptable values for the parameters.

Examples:
- `vendor list` followed by `vendor edit 2 p/914624435` edits the phone number of the 2nd vendor to be `91462435`.
Expand All @@ -289,10 +295,10 @@ Expected behaviour upon success:
- The index refers to the index number shown in the displayed vendor list.

Expected behaviour upon failure:
- Index is not a number, or no index provided: Displays error message "Please input a positive integer as the index",
with instruction on the correct input format.
- Index does not correspond to any guest: Displays error message "The index provided does not reference any vendor".
- No parameters provided: Displays error message "You must provide at least one parameter to edit".
(in order of priority)
- Index is not a number, or no index provided: Displays error message "Invalid command format!" followed by instruction on vendor edit usage.
- No parameters provided: Displays error message "At least one field to edit must be provided.".
- Index does not correspond to any guest: Displays error message "The vendor index provided is invalid.".

<br />

Expand All @@ -314,7 +320,7 @@ Expected behaviour upon success:
- If there is one or more guests, displays the message "Listed all guests". Else, displays the message "No guests recorded".

Expected behaviour upon failure:
- Refer to [Appendix B](#6-2-appendix-b-miscellaneous-error-messages): Expected behaviour upon general failure.
- Refer to [Appendix B](#7-2-appendix-b-miscellaneous-error-messages): Expected behaviour upon general failure.

--------------------------------------------------------------------------------------------------------------------

Expand All @@ -330,7 +336,7 @@ Expected behaviour upon success:
- If there is one or more vendors, displays the message "Listed all vendors". Else, displays the message "No vendors recorded".

Expected behaviour upon failure:
- Refer to [Appendix B](#6-2-appendix-b-miscellaneous-error-messages): Expected behaviour upon general failure.
- Refer to [Appendix B](#7-2-appendix-b-miscellaneous-error-messages): Expected behaviour upon general failure.

<br />

Expand Down Expand Up @@ -377,9 +383,7 @@ Expected behaviour upon success:
- Displays a message showing the total number of results found.

Expected behaviour upon failure:
- Empty name (e.g. `guest filter n/`): Displays error message "Cannot filter for empty name. Guests are not allowed to have empty names".
- No parameter (e.g. `guest filter`): Displays error message "Please input at least one parameter to filter by", followed by an instruction on
the proper usage of the `guest filter` function.
- No parameter (e.g. `guest filter`): Displays error message "No prefix was found in the command!" followed by instruction on guest filter usage.


--------------------------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -420,7 +424,6 @@ Expected behaviour upon success:
- Displays a message showing the total number of results found.

Expected behaviour upon failure:
- Empty name (e.g. `vendor filter n/`): Displays error message "Cannot filter for empty name".
- No parameter (e.g. `vendor filter`): Displays error message "No prefix was found in the command!" followed by instruction on vendor filter usage.

<br />
Expand Down Expand Up @@ -481,7 +484,18 @@ Expected behaviour upon failure:

--------------------------------------------------------------------------------------------------------------------

### 2.6.4. Exiting the program: `exit`
### 2.6.4. Clearing guest and vendor lists: `clear`

Clears both the guest and vendor lists concurrently.

format: `clear`

Expected behaviour upon success:
- Removes all guest and vendors in the guest and vendor lists respectively.

--------------------------------------------------------------------------------------------------------------------

### 2.6.5. Exiting the program: `exit`

Exits the program.

Expand All @@ -504,9 +518,13 @@ Format: `exit`

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.

## 5. Future implementations

1. `guest clear` and `vendor clear` features will be implemented in the future. This feature will allow users to clear the guest list or vendor list quickly.

--------------------------------------------------------------------------------------------------------------------

## 5. Command summary
## 6. Command summary

| Action | Format | Example |
|--------------------|:---------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
Expand All @@ -523,23 +541,23 @@ Format: `exit`
| View help | `help` | |
| Undo last action | `undo` | |
| Redo last action | `redo` | |
| Clear both lists | `clear` | |
| Exit program | `exit` | |

--------------------------------------------------------------------------------------------------------------------

## 6. Appendices
## 7. Appendices

### 6.1. Appendix A: Acceptable values for parameters
### 7.1. Appendix A: Acceptable values for parameters

Acceptable values for `n/NAME`:
- Alphanumeric word with or without spaces and should not be blank.
- Error message for invalid name: “Names cannot be blank and should not contain any special characters”.
- Error message for invalid name: “Names should only contain alphanumeric characters and spaces, and it should not be blank”.

Acceptable values for `p/PHONE`:
- Numbers with no spaces or special characters.
- At least 3 numbers.
- Error message for invalid phone number: “Phone numbers should contain only numbers, with no spaces or special characters”.

- Error message for invalid phone number: "Phone numbers should only contain numbers, and it should be at least 3 digits long".

Acceptable values for `e/EMAIL`:
- `local-part@domain`
Expand All @@ -551,40 +569,56 @@ Acceptable values for `e/EMAIL`:
- end with a domain label at least 2 characters long.
- have each domain label start and end with alphanumeric characters.
- have each domain label consist of alphanumeric characters, separated only by hyphens, if any.
- Error message for invalid email: "Emails should contain two segments separated by an @ symbol."
- Error message for invalid email:
<br />
"Emails should be of the format local-part@domain and adhere to the following constraints:
1. The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-). The local-part may not start or end with any special characters.
2. This is followed by a '@' and then a domain name. The domain name is made up of domain labels separated by periods.
The domain name must:
- end with a domain label at least 2 characters long
- have each domain label start and end with alphanumeric characters
- have each domain label consist of alphanumeric characters, separated only by hyphens, if any.".

Acceptable values for `a/ADDRESS`:
- Word with or without spaces.
- Error message for invalid address: "Addresses can take any values, and it should not be blank".

Acceptable values for `r/RSVP_STATUS`:
- `yes`
- `no`
- `unknown`
- Inputs with no values when adding a guest (e.g. `r/`) signify that RSVP status should be stored as `unknown`.
- Inputs with no values when filtering guests (e.g. `r/`) signify that you wish to filter for guests with `unknown` RSVP status.
- Error message for invalid RSVP status: “RSVP status can only be `yes`, `no` or `unknown`”.
- Error message for invalid RSVP status: “RsvpStatus Status should only have one of three values. yes, no, or unknown.”.

Acceptable values for `d/DIETARY_REQUIREMENT`:
- Alphanumeric word with or without spaces.
- Alphanumeric word with or without spaces and should not be blank.
- Error message for invalid table numbers: "Dietary requirements should only contain alphanumeric characters and spaces, and it should not be blank"

Acceptable values for `tn/TABLE_NUMBER`:
- Numbers between 1 and 2147483647 inclusive with no spaces or special characters
- Preceding zeros will be trimmed.
- Error message for invalid table numbers: "Table numbers should be positive numbers with no spaces or special characters."
- Error message for invalid table numbers: "Table numbers should only contain numbers"

Acceptable values for `t/TAG`:
- Alphanumeric word without spaces.
- Error message for invalid tags: "Tags should have no spaces or special characters."
- Error message for invalid tags: "Tags names should be alphanumeric"

--------------------------------------------------------------------------------------------------------------------

### 6.2. Appendix B: Miscellaneous error messages
### 7.2. Appendix B: Miscellaneous error messages

User input is completely invalid (e.g. `abc` or `vsdf`):
- Display error message "No such command exists".

- Display error message "Unknown command.".
<br />
User input begins with `vendor` or `guest`, but does not include a valid command word (e.g. `vendor abc` or `guest adddd`):
- Display error message "Please specify a command".
- Display error message:
<br />
"Invalid command format!
<br />
help: Shows program usage instructions.
<br />
Example: help".

<br />

Expand Down
Loading