Skip to content

Commit

Permalink
Merge pull request #246 from wasjoe1/branch-update-UG-PED
Browse files Browse the repository at this point in the history
Update UG: Improve from PED
  • Loading branch information
samuelim01 authored Nov 9, 2023
2 parents 4429706 + 8f302fa commit 535201d
Showing 1 changed file with 84 additions and 50 deletions.
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

0 comments on commit 535201d

Please sign in to comment.