From 53fe4560b95a2d5eb5e5bca12d4e37ebac0b3d8a Mon Sep 17 00:00:00 2001 From: ethan-goh Date: Mon, 11 Nov 2024 22:40:29 +0800 Subject: [PATCH 1/4] Reformat UG and add links --- docs/UserGuide.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 33c6b1f1721..8c328c02b08 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -29,6 +29,8 @@ EduContacts is a **desktop app for educators in tertiary institutions in Singapo - [Finding a person: `find`](#finding-a-person-find) - [Clearing all entries : `clear`](#clearing-all-entries-clear) - [Exiting the program : `exit`](#exiting-the-program-exit) + - [Saving the data](#saving-the-data) + - [Editing the data file](#editing-the-data-file) 4. [FAQ](#faq) 5. [Known issues](#known-issues) 6. [Command summary](#command-summary) @@ -117,6 +119,7 @@ EduContacts is a **desktop app for educators in tertiary institutions in Singapo ```bash delete 12345678 ``` + Deletes a person contact with student ID `12345678`. ```bash @@ -155,13 +158,12 @@ Field | Details **StudentID** | The student ID that belongs to the `Person`. The input for this field can only contain digits and should be exactly 8 digits long.

This field also serves as the unique identifier for a `Person`. **Name** | The name that belongs to the `Person`. The input for this field can only contain alphanumeric characters and whitespaces. **Course** | The course that the `Person` studies. The input for this field can only contain alphabetical characters and whitespaces. -**Email** | The email that belongs to the `Person`. The input for this field should be of the format local-part@domain.

The local-part should only contain alphanumeric characters and these special characters: `+ _ . -` The local-part may not start or end with any special characters. 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. +**Email** | The email that belongs to the `Person`. The input for this field should be of the format local-part@domain.

The local-part should only contain alphanumeric characters and these special characters: `+ _ . -` The local-part may not start or end with any special characters. 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. **Address** | The address that belongs to the `Person`. The first character for the input for this field can only contain alphanumeric characters and these special characters: `# , -`.

After the first character, any additional characters are allowed, including whitespace and further text. **Phone Number** | The phone number that belongs to the `Person`. The input for this field can only contain digits and must at least be 8 digits long. **Module** | A module that the `Person` takes. A `Person` can have multiple modules. The input for this field can only contain alphanumeric characters.

A module can also be assigned a `Grade`, which must be one of the following: `A+, A, A-, B+, B, B-, C+, C, D+, D, F` **Role** | The role assigned to the `Person`. A person can either be a "Student" or "Tutor". -------------------------------------------------------------------------------------------------------------------- -
## Features @@ -233,7 +235,7 @@ Examples: ![result for 'add command result'](images/addCommandResult.png) -
+
### Listing all persons : `list` @@ -291,6 +293,8 @@ edit ID m/ OLD_MODULE NEW_MODULE * Existing module (`OLD_MODULE`) will be overwritten by the input module (`NEW_MODULE`). * Editing of `NAME`, `PHONE`, `EMAIL`, `ADDRESS`, `COURSE` and `ROLE` using this format is not supported. +
+ Examples: * `edit 12345678 m/CS2103T CS2101` will edit a person with student ID of `12345678` by replacing the old module `CS2103T` with the new module `CS2101`. @@ -354,6 +358,8 @@ filter m/KEYWORD * `m/` prefix is used. * Partial matching is supported, allowing users to input parts of module codes. e.g. `m/CS21` will match modules like "CS2103T" and "CS2101." +
+ **3. Filter by course:** Format: @@ -418,7 +424,7 @@ Examples: * `delete 13131313 m/CS2103T` will delete the module `CS2103T` from a person with studentId of `13131313` (the result of this command is shown in the screenshot below). ![result for 'delete_13131313'](images/deleteModuleResult.png) -
+ ### Finding a person : `find` @@ -460,7 +466,7 @@ Format: exit ``` -
+
### Saving the data @@ -480,7 +486,7 @@ Furthermore, certain edits can cause the EduContacts to behave in unexpected way -------------------------------------------------------------------------------------------------------------------- -
+ ## FAQ From b2ceb0067d5e793919b3b34a9b99c39dd6ef1ec5 Mon Sep 17 00:00:00 2001 From: ethan-goh Date: Mon, 11 Nov 2024 22:45:10 +0800 Subject: [PATCH 2/4] Minor wording fix in command summary --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 8c328c02b08..0d4c75afb54 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -526,7 +526,7 @@ Furthermore, certain edits can cause the EduContacts to behave in unexpected way | **Delete** | `delete ID`
e.g., `delete 12345678`

`delete ID m/MODULE`
e.g., `delete 12345678 m/CS2103T` | | **Edit** | `edit ID [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [c/COURSE] [r/ROLE]…​`
e.g.,`edit 12345678 p/91234567 e/johndoe@example.com` | | **Grade** | `grade ID m/MODULE g/GRADE`
e.g. `grade 12345678 m/CS2103T g/A` | -| **Add Module** | `module ID m/MODULE`
e.g., `add 12345678 m/CS2103T` | +| **Add Module** | `module ID m/MODULE`
e.g., `module 12345678 m/CS2103T` | | **Filter** | `filter [n/NAME] [c/COURSE] [m/MODULE]`
e.g., `filter n/James Jake` | | **Find** | `find ID`
e.g., `find 12345678` | | **List** | `list` | From 40beadf054e2a98bac6eed811c9ca9b0008b55e3 Mon Sep 17 00:00:00 2001 From: ethan-goh Date: Mon, 11 Nov 2024 23:17:13 +0800 Subject: [PATCH 3/4] Minor UG fixes --- docs/UserGuide.md | 54 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0d4c75afb54..d102c4bb010 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -151,7 +151,7 @@ EduContacts is a **desktop app for educators in tertiary institutions in Singapo ## Summary of a `Person` This table will explain the fields that a `Person` in EduContacts possesses and its respective constraints. Each person -in EduContacts is assumed to be Singaporean. You should not leave any fields blank when adding a `Person` to EduContacts, except for `Module`. +in EduContacts is assumed to have a Singapore-based contact. No fields should be left blank when adding a `Person` to EduContacts, except for `Module`. Field | Details -----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -162,7 +162,7 @@ Field | Details **Address** | The address that belongs to the `Person`. The first character for the input for this field can only contain alphanumeric characters and these special characters: `# , -`.

After the first character, any additional characters are allowed, including whitespace and further text. **Phone Number** | The phone number that belongs to the `Person`. The input for this field can only contain digits and must at least be 8 digits long. **Module** | A module that the `Person` takes. A `Person` can have multiple modules. The input for this field can only contain alphanumeric characters.

A module can also be assigned a `Grade`, which must be one of the following: `A+, A, A-, B+, B, B-, C+, C, D+, D, F` -**Role** | The role assigned to the `Person`. A person can either be a "Student" or "Tutor". +**Role** | The role assigned to the `Person`. A person can either be a "`Student`" or "`Tutor`". -------------------------------------------------------------------------------------------------------------------- ## Features @@ -221,12 +221,7 @@ Format: ```bash add ID n/NAME p/PHONE e/EMAIL a/ADDRESS c/COURSE r/ROLE ``` - - - -**Note:** The phone number must be at least 8 digits long, and is a valid Singapore phone number. - - +When adding a Person to EduContacts, please refer to the [table above](#summary-of-a-person) for the constraints of each field. Examples: * `add 87654321 n/Betsy Crowe r/Student e/betsycrowe@example.com a/Blk 30 Geylang Street 29, #06-40 p/12345678 c/Business Analytics` will add a person named `Betsy Crowe` with student ID of `87654321` to EduContacts. @@ -279,8 +274,8 @@ Usages: ```bash edit ID [FIELD_TO_EDIT_PREFIX] [NEW_VALUE] ``` - * Updates the details of the person identified by the studentId assigned to the corresponding student. - * At least one of the optional fields must be provided: name, phone, email, address, course, role. Note that studentId cannot be edited as it is the person's identifier. + * Updates the details of the person identified by the student ID assigned to the corresponding student. + * At least one of the optional fields must be provided: name, phone, email, address, course, role. Note that student ID cannot be edited as it is the person's identifier. * Existing values will be overwritten by the input values. **2. Edit person's module:** @@ -289,7 +284,7 @@ edit ID [FIELD_TO_EDIT_PREFIX] [NEW_VALUE] ```bash edit ID m/ OLD_MODULE NEW_MODULE ``` - * Updates a module of the person identified by the studentId. + * Updates a module of the person identified by the student ID. * Existing module (`OLD_MODULE`) will be overwritten by the input module (`NEW_MODULE`). * Editing of `NAME`, `PHONE`, `EMAIL`, `ADDRESS`, `COURSE` and `ROLE` using this format is not supported. @@ -317,14 +312,14 @@ Adds a grade to a person's module. grade ID m/MODULE g/GRADE ``` -* Adds a grade to a person according to the specified studentId and Module. +* Adds a grade to a person according to the specified student ID and Module. * Module specified must exist prior to execution grade command. * Acceptable grades: `A+, A, A-, B+, B, B-, C+, C, D+, D, F`. * Existing grade will be updated to the input grade. Examples: -* `grade 23876767 m/CS2103T g/A` will assign an `A` grade to the `CS2103T` module of a person with studentId of `23876767`. -* `grade 14141414 m/CS1101S g/B+` will assign an `B+` grade to the `CS1101S` module of a person with studentId of `14141414`. +* `grade 23876767 m/CS2103T g/A` will assign an `A` grade to the `CS2103T` module of a person with student ID of `23876767`. +* `grade 14141414 m/CS1101S g/B+` will assign an `B+` grade to the `CS1101S` module of a person with student ID of `14141414`.
@@ -356,7 +351,7 @@ filter m/KEYWORD * `m/` prefix is used. - * Partial matching is supported, allowing users to input parts of module codes. e.g. `m/CS21` will match modules like "CS2103T" and "CS2101." + * Only full module codes will be matched, e.g. `m/CS2103T` will match the module `CS2103T`, and not `m/CS21`."
@@ -399,29 +394,33 @@ To return to display the full list of persons, use the `list` command. Deletes the specified person/module from EduContacts. This command has 2 formats. -Format 1: +**1. Delete `Person` from EduContacts** + +Format: ```bash delete ID ``` -* Deletes person with the specified studentId. +* Deletes person with the specified student ID. Examples: -* `delete 15151515` will delete a person with studentId of `15151515` from EduContacts. -* `delete 71271222` will delete a person with studentId of `71271222` from EduContacts (the response message of this command is shown in the screenshot below). +* `delete 15151515` will delete a person with student ID of `15151515` from EduContacts. +* `delete 71271222` will delete a person with student ID of `71271222` from EduContacts (the response message of this command is shown in the screenshot below). ![result for 'delete_71271222'](images/deleteCommandResult.png) -Format 2: +**2. Delete `Module` from `Person`** + +Format: ```bash delete ID m/MODULE ``` * Deletes a module from the person with the specified studentId. -Examples: -* `delete 13131313 m/CS2103T` will delete the module `CS2103T` from a person with studentId of `13131313` (the result of this command is shown in the screenshot below). +Example: +* `delete 13131313 m/CS2103T` will delete the module `CS2103T` from a person with student ID of `13131313` (the result of this command is shown in the screenshot below). ![result for 'delete_13131313'](images/deleteModuleResult.png) @@ -435,7 +434,7 @@ Format: `find ID` * Finds student with the specified `ID`. Examples: -* `find 12345678` will find a person with studentId of `12345678` and display their details. +* `find 12345678` will find a person with student ID of `12345678` and display their details.
@@ -466,7 +465,6 @@ Format: exit ``` -
### Saving the data @@ -508,8 +506,8 @@ Furthermore, certain edits can cause the EduContacts to behave in unexpected way 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. **For `help` command:** - * If you minimize the Help Window and then run the `help` command (or use the `Help` menu, or the keyboard shortcut `F1`) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window. - * On some platforms (especially MacOS), when using the application in full screen, + * If you minimise the Help Window and then run the `help` command (or use the `Help` menu, or the keyboard shortcut `F1`) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window. + * On some platforms (especially MacOS), when you use the application in full screen, running the `help` command and closing the popup window repeatedly in quick succession may cause the application to hang or crash. Users have to terminate the application by entering `CTRL` + `C` in the terminal used to run the application, and run the application again. **DATA MIGHT BE LOST**. * The development team is working on a more permanent fix for this issue. @@ -525,9 +523,9 @@ Furthermore, certain edits can cause the EduContacts to behave in unexpected way | **Clear** | `clear` | | **Delete** | `delete ID`
e.g., `delete 12345678`

`delete ID m/MODULE`
e.g., `delete 12345678 m/CS2103T` | | **Edit** | `edit ID [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [c/COURSE] [r/ROLE]…​`
e.g.,`edit 12345678 p/91234567 e/johndoe@example.com` | -| **Grade** | `grade ID m/MODULE g/GRADE`
e.g. `grade 12345678 m/CS2103T g/A` | +| **Add Grade** | `grade ID m/MODULE g/GRADE`
e.g. `grade 12345678 m/CS2103T g/A` | | **Add Module** | `module ID m/MODULE`
e.g., `module 12345678 m/CS2103T` | | **Filter** | `filter [n/NAME] [c/COURSE] [m/MODULE]`
e.g., `filter n/James Jake` | | **Find** | `find ID`
e.g., `find 12345678` | | **List** | `list` | - +| **Help** | `help` From e4acfeba9b7fc3ad42525980cf229535cb4c7c3d Mon Sep 17 00:00:00 2001 From: ethan-goh Date: Mon, 11 Nov 2024 23:45:22 +0800 Subject: [PATCH 4/4] Minor UG fixes --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d102c4bb010..66c7a6f6c1b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -141,7 +141,7 @@ EduContacts is a **desktop app for educators in tertiary institutions in Singapo -**Tip:** Use the UP and DOWN arrow keys to scroll through previous commands in the Command Box. This feature helps you reuse recent commands without retyping, making it faster for you to correct or repeat commands! +**Tip:** Use the UP and DOWN arrow keys to scroll through previous commands in the command box. This feature helps you reuse recent commands without retyping, making it faster for you to correct or repeat commands! 6. Refer to the [Features](#features) below for details of each command. @@ -162,7 +162,7 @@ Field | Details **Address** | The address that belongs to the `Person`. The first character for the input for this field can only contain alphanumeric characters and these special characters: `# , -`.

After the first character, any additional characters are allowed, including whitespace and further text. **Phone Number** | The phone number that belongs to the `Person`. The input for this field can only contain digits and must at least be 8 digits long. **Module** | A module that the `Person` takes. A `Person` can have multiple modules. The input for this field can only contain alphanumeric characters.

A module can also be assigned a `Grade`, which must be one of the following: `A+, A, A-, B+, B, B-, C+, C, D+, D, F` -**Role** | The role assigned to the `Person`. A person can either be a "`Student`" or "`Tutor`". +**Role** | The role assigned to the `Person`. A person can either be a `Student` or `Tutor`. -------------------------------------------------------------------------------------------------------------------- ## Features