diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5f9a0d1d1f8..25cb0be2538 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -39,19 +39,27 @@ Here are some descriptions of the words we use throughout the User Guide: # Features -![Ui1](images/Ui1.png) - ### Add lead - What it does: Add potential leads and their basic information, e.g. name, age, year of study, major, etc. -- Command format: `addlead n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...`. +- Command format: `addlead n/NAME p/PHONE e/EMAIL a/ADDRESS m/MEETING_TIME [t/TAG]...`. - Example usage: `Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/classmate`. -- Acceptable values for each parameter: - - `NAME`: can contain any character. - - `PHONE`: any valid 8-digit integer. +- Acceptable values for each compulsory parameter: + - `NAME`: can contain any string of alphanumeric characters. + - The name can contain spaces but cannot be blank (only contain spaces). + - `PHONE`: any valid 8-digit integer, at least 3 digits long. - `EMAIL`: a string of the format `local-part@domain` - - `ADDRESS`: can contain any character. - - `TAG`: can contain any character. + - 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. + - 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 + - Each domain label must start and end with alphanumeric characters and only separated by hyphens, if any. + - `ADDRESS`: can contain any alphanumeric character, must not be blank. +- Acceptable values for each optional parameter: + - `MEETING_TIME`: only contains date in the format of `dd/MM/yyyy HH:mm` + - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` + - The time must be a valid time in the 24-hour format, these are invalid: `25:00`, `12:60` + - `TAG`: can contain any alphanumeric character, must not be blank if any tag is declared. - Precise expected outputs when the command succeeds:
@@ -81,16 +89,32 @@ Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2 ### Add Client - What it does: Add potential clients and their basic information, e.g. name, age, year of study, major, etc. -- Command format: `addclient n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...`. -- Example usage: `Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/classmate`. -- Acceptable values for each parameter: - - `NAME`: can contain any character. - - `PHONE`: any valid 8-digit integer. +- Command format: `addclient n/NAME p/PHONE e/EMAIL a/ADDRESS [m/MEETING_TIME] [t/TAG]...`. +- Example usage: `Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/10/10/2023 14:30 t/classmate`. +- Acceptable values for each compulsory parameter: + - `NAME`: can contain any string of alphanumeric characters. + - The name can contain spaces but cannot be blank (only contain spaces). + - `PHONE`: any valid 8-digit integer, at least 3 digits long. - `EMAIL`: a string of the format `local-part@domain` - - `ADDRESS`: can contain any character. - - `TAG`: can contain any character. + - 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. + - 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 + - Each domain label must start and end with alphanumeric characters and only separated by hyphens, if any. + - `ADDRESS`: can contain any alphanumeric character, must not be blank. +- Acceptable values for each optional parameter: + - `MEETING_TIME`: only contains date in the format of `dd/MM/yyyy HH:mm`, must not be blank if any meeting time is declared. + - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` + - The time must be a valid time in the 24-hour format, these are invalid: `25:00`, `12:60` + - `TAG`: can contain any alphanumeric character, must not be blank if any tag is declared. + - Precise expected outputs when the command succeeds: +
+ +

Before using addclient command

+
+

After using addclient command

@@ -101,7 +125,7 @@ Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2 ``` Invalid command format! addclient: Adds a client to the address book. Parameters: n/NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]... -Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 t/classmate +Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/10/10/2023 14:30 t/classmate ``` ### View all clients @@ -172,11 +196,22 @@ In output section of the - What it does: Deletes a lead from your list of leads. - Command format: `delete INDEX`. - Example usage: `delete 1`. + +
+ +

Before delete

+
+ +
+ +

After delete

+
+ - Acceptable values for `INDEX` parameter: - Must be an integer from `1` to the last index of the leads list - Precise expected outputs when the command succeeds: -`Lead deleted: ` +`Deleted person: ` - Precise expected outputs when the command fails: @@ -220,25 +255,85 @@ Example: addmeeting 1 m/12/10/2023 16:00 ``` When adding a meeting time to a person who already has an existing meeting: - `Person already has a meeting time, use the edit command instead` -### Delete meeting time for lead +### Delete meeting time - What it does: Delete a meeting time for meetings that has been cancelled or postponed. -- Command format: `deletemeeting --lead --id ` -- Example usage: `deletemeeting --lead 1 --id 1` +- Command format: `deletemeeting INDEX` +- Example usage: `deletemeeting 1` + +
+ +

Before using deletemeeting

+
+ +
+ +

After using deletemeeting

+
+ - Acceptable values for each parameter: - - `lead`: Any integer from `1` to the last index of the leads list - - `id`: Any integer from `1` to the last index of the list + - `INDEX`: Any integer from `1` to the last index of the filtered list shown in the addressbook. - Precise expected outputs when the command succeeds: +``` +Deleted Meeting: from Person +``` +- Precise expected outputs when the command fails: +``` +Invalid command format! +deletemeeting: Deletes the meeting identified by the index number used in the displayed meeting list. +Parameters: INDEX (must be a positive integer) +Example: deletemeeting 1 +``` -`Meeting time deleted from : ` -- Precise expected outputs when the command fails: +### Edit + +- What it does: Edit the details of a lead or client. +- Command format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` +- Example usage: `edit 1 n/John Doe p/98765432 + +
+ +

Before using edit

+
+ +
+ +

After using edit

+
-`Meeting time failed to be deleted. Please enter a valid lead id or meeting time` +- Acceptable values for each compulsory parameter: + - `INDEX`: Any integer from `1` to the last index of the filtered list shown in the addressbook. +- Acceptable values for each optional parameter (at least one of the optional parameters must be provided) + - `NAME`: can contain any string of alphanumeric characters. + - The name can contain spaces but cannot be blank (only contain spaces). + - `PHONE`: any valid 8-digit integer, at least 3 digits long. + - `EMAIL`: a string of the format `local-part@domain` + - 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. + - 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 + - Each domain label must start and end with alphanumeric characters and only separated by hyphens, if any. + - `ADDRESS`: can contain any alphanumeric character, must not be blank. + - `MEETING_TIME`: only contains date in the format of `dd/MM/yyyy HH:mm` + - The date must be a valid date, these are invalid: `31/02/2020`, `25/13/2021` + - The time must be a valid time in the 24-hour format, these are invalid: `25:00`, `12:60` + - If the edited `MEETING_TIME` is `null`, it will not remove the existing person's `MEETING_TIME`. + - `TAG`: can contain any alphanumeric character, must not be blank if any tag is declared. +- Precise expected outputs when the command succeeds: +``` +Edited Person: +``` +- Precise expected outputs when the command fails: +``` +Invalid command format! +edit: Edits the details of the person identified by the index number used in the displayed person list. Existing values will be overwritten by the input values. +Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [m/MEETING_TIME] [t/TAG]... +Example: edit 1 p/91234567 e/johndoe@example.com +``` ### Sort meeting time @@ -291,4 +386,3 @@ from current date to ensure a followup by the user - Precise expected outputs when the command fails: `The person index provided is invalid` - diff --git a/docs/images/List.png b/docs/images/List.png index 11630bf8433..e52cf4621ae 100644 Binary files a/docs/images/List.png and b/docs/images/List.png differ diff --git a/docs/images/Listclient.png b/docs/images/Listclient.png index 97290b39b29..f7f44cf301d 100644 Binary files a/docs/images/Listclient.png and b/docs/images/Listclient.png differ diff --git a/docs/images/Listlead.png b/docs/images/Listlead.png index bf2e14200b5..7a7297ff341 100644 Binary files a/docs/images/Listlead.png and b/docs/images/Listlead.png differ diff --git a/docs/images/addclient.png b/docs/images/addclient.png index 331ee029d2f..03ec5a1221f 100644 Binary files a/docs/images/addclient.png and b/docs/images/addclient.png differ diff --git a/docs/images/afterdeletecommand.png b/docs/images/afterdeletecommand.png new file mode 100644 index 00000000000..83305c9e095 Binary files /dev/null and b/docs/images/afterdeletecommand.png differ diff --git a/docs/images/afterdeletemeeting.png b/docs/images/afterdeletemeeting.png new file mode 100644 index 00000000000..55136997b1d Binary files /dev/null and b/docs/images/afterdeletemeeting.png differ diff --git a/docs/images/aftereditcommand.png b/docs/images/aftereditcommand.png new file mode 100644 index 00000000000..c355944aabd Binary files /dev/null and b/docs/images/aftereditcommand.png differ diff --git a/docs/images/beforeaddclient.png b/docs/images/beforeaddclient.png new file mode 100644 index 00000000000..12d8cd5c0e4 Binary files /dev/null and b/docs/images/beforeaddclient.png differ diff --git a/docs/images/beforedeletemeeting.png b/docs/images/beforedeletemeeting.png new file mode 100644 index 00000000000..299bcdce7d8 Binary files /dev/null and b/docs/images/beforedeletemeeting.png differ