From 8b51b6b253e2dec753a9620e7ccf20484fb07879 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 08:52:34 +0800 Subject: [PATCH 01/44] Add additional information about attributes --- docs/UserGuide.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 89871874850..e3bc013408d 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -446,17 +446,19 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa Attribute | Prefix | Restrictions | Examples ----------|--------|--------------|--------------------- -Name | n/ | Case-sensitive.
Only alphanumeric characters allowed. | `alex yeoh`, `Bernice Yu`, `test1` -Phone Number | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` -Email | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` -Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 1 character long. | `gess1025`, `hsi1000`, `cs2103t` -Faculty | f/ | Case-insensitive.
Restricted set of values (see table `Valid faculty values` below). | `soc`, `biz`, `School of Business` -Venue | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` -Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tues`, `Wednesday`, `wed`, `Thursday`, `thurs`, `Friday`, `fri`, `Saturday`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. | `alex yeoh`, `Bernice Yu`, `test1` +Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` +Email[^1] | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` +Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` +Faculty[^1] | f/ | Case-insensitive.
Restricted set of values (see table `Valid faculty values` below). | `soc`, `biz`, `School of Business` +Venue[^1] | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` +Tag | t/ | Only alphanumeric characters allowed.
Person can have any number of tags. | `tutor`, `professor`, `BestProf`, `Number1TA` +Availability | a/ | Valid format of `day start-time end-time`.
Person can have any number of availabilities.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tues`, `Wednesday`, `wed`, `Thursday`, `thurs`, `Friday`, `fri`, `Saturday`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm` | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +[^1]: Mandatory when adding a person into the staff book, as these are important information for students to know when/where to consult their professors/TAs. + Faculty | Other names --------|------ Faculty of Arts of Social Sciences | Arts and Social Sciences, FASS From 45bfb2844594f246da5d43f9acf7e5390f7012c0 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 08:56:07 +0800 Subject: [PATCH 02/44] indicate phone number descriptor workaround --- docs/UserGuide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e1f7c604c7d..e1001d7a20b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -449,6 +449,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## 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. +2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as 98731094 (home), the application rejects this input and prompts the user to only provide phone numbers with numerical values only. The phone number descriptor is not intended to be stored but users can consider using tags such as t/homePhone as a workaround phone number descriptor. 2. **Restrictions on the valid user input of `Faculty` values**: For the current version, a valid user input for `Faculty` with prefix `f/` can only match exactly the same string as suggested below. Cases can be ignored though. - Faculty of Arts of Social Sciences; Arts and Social Sciences; FASS - Business School; Business; Biz School; Biz From 59e7c5be405c15e3a4e9db16f07ffb3561a167e8 Mon Sep 17 00:00:00 2001 From: tsulim Date: Fri, 12 Apr 2024 18:39:15 +0800 Subject: [PATCH 03/44] Amend bug in formatting `Person` for display --- src/main/java/staffconnect/logic/Messages.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/staffconnect/logic/Messages.java b/src/main/java/staffconnect/logic/Messages.java index 77a6d1ad992..ca71ad9fa48 100644 --- a/src/main/java/staffconnect/logic/Messages.java +++ b/src/main/java/staffconnect/logic/Messages.java @@ -44,9 +44,9 @@ public static String format(Person person) { .append("; Phone: ") .append(person.getPhone()) .append("; Email: ") - .append(person.getFaculty()) - .append("; Faculty: ") .append(person.getEmail()) + .append("; Faculty: ") + .append(person.getFaculty()) .append("; Venue: ") .append(person.getVenue()) .append("; Module: ") From 591ac378491d231ddc838857398b7c5e8e99fcb7 Mon Sep 17 00:00:00 2001 From: tsulim Date: Fri, 12 Apr 2024 19:12:20 +0800 Subject: [PATCH 04/44] Modify own project portfolio page --- docs/team/tsulim.md | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/docs/team/tsulim.md b/docs/team/tsulim.md index 2549af94307..b722aaca43c 100644 --- a/docs/team/tsulim.md +++ b/docs/team/tsulim.md @@ -9,38 +9,23 @@ StaffConnect offers convenience and peace of mind to a struggling student with m Given below are my contributions to the project. -* **New Feature**: Added the ability to undo/redo previous commands. - * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. - * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. - * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. - * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* +* **New Feature**: Added a `fav` and `unfav` command that allows the user to set contacts as Favourite, prioritizing them at the top of the list. + * What it does: allows the user to set selected contact as favourite. Preceding `unfav` commands can be reversed by using the redo command. + * Justification: This feature improves the product significantly because a user can view contacts that they prioritize at the top without the need to search below, bringing them more conveniences. -* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. - -* **Code contributed**: [RepoSense link]() +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s2.github.io/tp-dashboard/?search=tsulim&sort=groupTitle%20dsc&sortWithin=title&since=2024-02-23&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=false&tabOpen=true&tabType=authorship&tabAuthor=tsulim&tabRepo=AY2324S2-CS2103-F08-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) * **Project management**: * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub -* **Enhancements to existing features**: - * Updated the GUI color scheme (Pull requests [\#33](), [\#34]()) - * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]()) - * **Documentation**: * User Guide: - * Added documentation for the features `delete` and `find` [\#72]() - * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() + * Added documentation for the features `fav` and `unfav`: [\#140](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/140), [\#165](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/165), [\#237](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/237) * Developer Guide: - * Added implementation details of the `delete` feature. + * Added implementation details of the `fav`/`unfav` feature: [\#151](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/151), [\#165](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/165) * **Community**: - * PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]() - * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]()) - * Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]()) - * Some parts of the history feature I added was adopted by several other class mates ([1](), [2]()) - -* **Tools**: - * Integrated a third party library (Natty) to the project ([\#42]()) - * Integrated a new Github plugin (CircleCI) to the team repo + * PRs reviewed (with non-trivial review comments): [\#32](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/32), [\#104](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/104) + * Reported bugs and suggestions for other teams in the module (examples: [1](https://github.com/AY2324S2-CS2103T-T10-1/tp/issues/368)) * _{you can add/remove categories in the list above}_ From 7ae9b8155105508bced8db09f6f9204df22bb08f Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 13:41:13 +0800 Subject: [PATCH 05/44] add known issue for name with special character --- docs/UserGuide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0f975d08dc2..bf7b174356b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -475,7 +475,8 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## 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. -2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as 98731094 (home), the application rejects this input and prompts the user to only provide phone numbers with numerical values only. The phone number descriptor is not intended to be stored but users can consider using tags such as t/homePhone as a workaround phone number descriptor. +2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. +3. **When adding name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. -------------------------------------------------------------------------------------------------------------------- From 64131e32dbd5fee01dee0818e01f86ef64d2719c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 16:57:36 +0800 Subject: [PATCH 06/44] update edit command for allowance of duplicate or unique attributes --- docs/UserGuide.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bf7b174356b..3dc2380412b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -133,6 +133,10 @@ Adds a person to the contacts. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` +* `NAME` has to be unique among contacts. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. +* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0)
@@ -169,11 +173,12 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * At least one of the optional fields must be provided. * Existing values will be updated to the input values. * When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative. -* You can remove all the person’s tags by typing `t/` without - specifying any tags after it. +* You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. -* You can remove all the person’s availabilities by typing `a/` without - specifying any availabilities after it. +* You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. +* `NAME` has to be unique among contacts. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. +* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -282,6 +287,7 @@ Format: `meeting-add INDEX d/DESCRIPTION s/DATETIME` 2. `H:mm` 3. `HHmm` * Duplicate meetings with the same `DESCRIPTION` and `DATETIME` in the same person is not allowed. +* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among contacts. Examples: * `meeting-add 1 d/Meet for finals preparation s/12/04/2024 18:00` adds a meeting to the first person with the description of `Meet for finals preparation` and the date and time of `12/04/2024 18:00` From 21e66ca6b8aa1279690a4e5b4cd5bd890d21f668 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 17:04:38 +0800 Subject: [PATCH 07/44] respecify case sensitivity --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3dc2380412b..7b6abb56475 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -133,7 +133,7 @@ Adds a person to the contacts. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` -* `NAME` has to be unique among contacts. +* `NAME` is case-sensitive and has to be unique among contacts. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. * `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. @@ -176,7 +176,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. -* `NAME` has to be unique among contacts. +* `NAME` is case-sensitive and has to be unique among contacts. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. * `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. From b0c2bc447e1dc3f1ab0be0a21f663a6eb2046b2a Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 17:52:52 +0800 Subject: [PATCH 08/44] add known issue for ambiguility with venues containing prefix --- docs/UserGuide.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 7b6abb56475..01842338a7f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -481,8 +481,9 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## 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. -2. **When adding phone number descriptors**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. -3. **When adding name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. +2. **When adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. +3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. +4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. -------------------------------------------------------------------------------------------------------------------- From a5e9db1fda5c0da3c0de084e7050eecf643016da Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 19:24:45 +0800 Subject: [PATCH 09/44] remove attribute in sort user guide to reduce confusion --- docs/UserGuide.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 01842338a7f..e124f599e46 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -190,6 +190,25 @@ Examples:
**After editing the second person:**
![After editing the second person](images/AfterEditCommand.png) +### Locating persons by name: `find` + +Finds persons whose names contain any of the given keywords. + +Format: `find KEYWORD [MORE_KEYWORDS]` + +* The search is case-insensitive. e.g `hans` will match `Hans` +* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` +* Only the name is searched. +* Only full words will be matched e.g. `Han` will not match `Hans` +* Persons matching at least one keyword will be returned (i.e. `OR` search). + e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` + +Examples: +* `find John` returns `john` and `John Doe` +* `find li` returns `David Li` +* `find alex david` returns `Alex Yeoh`, `David Li`
+ ![result for 'find alex david'](images/findAlexDavidResult.png) + ### Filtering persons: `filter` Filters persons whose module, faculty, tags or availabilities match the given filtering criteria. @@ -214,37 +233,18 @@ Examples: * `filter t/tutor` returns `Bernice Yu`, `Irfan Ibrahim`
![result for 'filter t/tutor'](images/filterTutorTagResult.png) -### Locating persons by name: `find` - -Finds persons whose names contain any of the given keywords. - -Format: `find KEYWORD [MORE_KEYWORDS]` - -* The search is case-insensitive. e.g `hans` will match `Hans` -* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` -* Only the name is searched. -* Only full words will be matched e.g. `Han` will not match `Hans` -* Persons matching at least one keyword will be returned (i.e. `OR` search). - e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` - -Examples: -* `find John` returns `john` and `John Doe` -* `find li` returns `David Li` -* `find alex david` returns `Alex Yeoh`, `David Li`
- ![result for 'find alex david'](images/findAlexDavidResult.png) -### Sorting persons by attribute: `sort` +### Sorting persons: `sort` Sorts the list of persons based on specified attribute. -Format: `sort [ATTRIBUTE]` +Format: `sort [n/] [p/] [m/] [f/] [v/]` * By default, sorting is done in alphanumeric order. * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). * The capitalisation of the letters do not affect their priority such that `Aaron` will have same priority as `aaron`. * For attribute with exact same values, the tie-breaker is determined by their added order. * For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort by contact by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. -* `[ATTRIBUTE]` is to be noted by their prefix. e.g `name` will be `n/`. * `s/` sorts contacts by person with the earliest meeting * `meet/` sorts contacts by person with the earliest meeting, followed by alphanumeric order of meeting description From da80f3c07408a90de39890194a49edaee44e8fcc Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 19:49:26 +0800 Subject: [PATCH 10/44] Specify behaviour of a corrupted or incorrect data file --- docs/UserGuide.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ce69c3c2b43..0cb2d3e00d0 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -460,7 +460,10 @@ StaffConnect data are saved automatically as a JSON file `[JAR file location]/da
:exclamation: **Caution:** If your changes to the data file makes its format invalid, StaffConnect will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
-Furthermore, certain edits can cause the StaffConnect to behave in unexpected ways (e.g., if a value entered is outside of the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly. +Furthermore, certain edits can cause the StaffConnect to behave in unexpected ways (e.g., if a value entered is outside of the acceptable range). +The Application will not prompt the user if the format of the data file is incorrect, but instead provide the user with a empty StaffBook. +Therefore, edit the data file only if you are confident that you can update it correctly. +
-------------------------------------------------------------------------------------------------------------------- From 552779a9872302d8c93c5ee21de66c7026de944a Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:07:46 +0800 Subject: [PATCH 11/44] Update sort activity diagram and reoragnise implementation in developer guide --- docs/DeveloperGuide.md | 107 ++++++++++++------------- docs/diagrams/SortActivityDiagram.puml | 25 +++--- docs/images/SortActivityDiagram.png | Bin 39848 -> 41586 bytes 3 files changed, 64 insertions(+), 68 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 42e19fa2c44..dc9316e1771 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -236,9 +236,9 @@ This is to prevent `FilterCommand` from taking on more responsibilities (Separat `FilterCommand` having `setPersonPredicate()` method: This is so that `FilterCommand` has the required argument of type `Predicate` to be used in the `updateFilteredPersonList()` method. Since the `Predicate` object is created by chaining the multiple predicates, no parsing is involved to create this `Predicate`. -### Sort Feature +### Sort feature -##### Implementation +##### How the feature is implemented The sort mechanism is facilitated by JavaFX's `SortedList` within ModelManager, `SortCommand` and `SortCommandParser`. `SortCommandParser` extends the types of command parsers in StaffBookParser, and returns a `SortCommand` to be executed by the LogicManager. This execution also updates the `SortedList` in Model via ModelManager. Additionally, it implements the following operations: @@ -264,7 +264,7 @@ The following activity diagram summarizes what happens when a user executes a ne -#### Design considerations: +#### What designs were considered: **Aspect: Determining order of sorting of an attribute:** * **Current Design:** Get order of sorting from user, prompting for an input in the form of toCompare. @@ -320,6 +320,53 @@ Below are some explanations for the special considerations in the implementation `FindCommmandParser` parsing the `Predicate` objects: This is to prevent `FindCommand` from taking on more responsibilities (Separation of Concerns). +### Meeting feature + +Meeting is feature that allows the user to keep track of any events they may have with the particular contact. It contains the description of the meeting event with the date and time it would occur. + +#### How the feature is implemented + +Meeting contains two attributes ```MeetingDescription``` and ```MeetingDateTime``` class. ```MeetingDescription``` +is used to handle any valid description of the meeting with only alphanumeric values, while the ```MeetingDateTime``` +is used to handle any valid date time values. Each of this meeting are stored in a list data class ```MeetingList``` that +contains each of the meetings related to each other stored in an ```ObservableList```. The ``` MeetingManager ``` is +used to manage any operations that require viewing or sorting of meetings from the ```MeetingList``` class. + +#### What designs were considered: + +**Aspect: How the meetings are stored :** + +* **Alternative 1 (current choice):** Store meetings in an ObservableList. + * Pros: Better segregation of the OOP functionalities, and good integration with the UI ListView. + * Cons: Larger code complexity. + +* **Alternative 2:** Store meetings in a Set. + * Pros: Easier implementation. + * Cons: There is an efficiency gap as each element has to be placed into a list before it can be shown to the UI ListView. + +### Fav/unfav feature + +The feature enables us to sets/remove a particular contact using an index as favourite. + +#### How the feature is implemented + +The Fav/Unfav feature is implemented via the `FavCommand` and `UnfavCommand`, which is supported by the `FavCommandParser` and `UnfavCommandParser` respectively. +The `FavCommandParser` and `UnfavCommandParser` implements the `Parser` interface. + +1. `LogicManager` receives the user input which is parsed by the `StaffConnectParser`. +2. After splitting the user input into `commandWord` and `arguments` based on the regex pattern of the user input, the `StaffConnectParser` invokes the `FavCommandParser`/`UnfavCommandParser` based on the `commandWord`, calling the method `parse` with `arguments` as the method arguments +3. `FavCommandParser`/`UnfavCommandParser` takes in the `args` string and parse it into with the static `ParserUtil#parseIndex(args)` function. If the `INDEX` format is invalid, a `ParseException` will be thrown. +4. `FavCommandParser`/`UnfavCommandParser` then creates the `FavCommand`/`UnfavCommand` and returns it. +5. The `LogicManager` executes the `FavCommand`/`UnfavCommand`, which creates a `Person` with the `Favourite` attribute set as `true`/`false` respectively and updates the model with this new `Person`. + +The following sequence diagram shows how the `fav` command works: + +![Fav Command Sequence Diagram](images/FavSequenceDiagram.png) + +Similarly, how the `unfav` command works is shown below: + +![Unfav Command Sequence Diagram](images/UnfavSequenceDiagram.png) + ### \[Proposed\] Undo/redo feature #### Proposed Implementation @@ -402,60 +449,6 @@ The following activity diagram summarizes what happens when a user executes a ne * Pros: Will use less memory (e.g. for `delete`, just save the person being deleted). * Cons: We must ensure that the implementation of each individual command are correct. -_{more aspects and alternatives to be added}_ - -### \[Proposed\] Data archiving - -_{Explain here how the data archiving feature will be implemented}_ - - -### Meeting - -Meeting is feature that allows the user to keep track of any events they may have with the particular contact. It contains the description of the meeting event with the date and time it would occur. - -#### Implementation - -Meeting contains two attributes ```MeetingDescription``` and ```MeetingDateTime``` class. ```MeetingDescription``` -is used to handle any valid description of the meeting with only alphanumeric values, while the ```MeetingDateTime``` -is used to handle any valid date time values. Each of this meeting are stored in a list data class ```MeetingList``` that -contains each of the meetings related to each other stored in an ```ObservableList```. The ``` MeetingManager ``` is -used to manage any operations that require viewing or sorting of meetings from the ```MeetingList``` class. - -#### Design considerations: - -**Aspect: How the meetings are stored :** - -* **Alternative 1 (current choice):** Store meetings in an ObservableList. - * Pros: Better segregation of the OOP functionalities, and good integration with the UI ListView. - * Cons: Larger code complexity. - -* **Alternative 2:** Store meetings in a Set. - * Pros: Easier implementation. - * Cons: There is an efficiency gap as each element has to be placed into a list before it can be shown to the UI ListView. - -### Fav/unfav feature - -The feature enables us to sets/remove a particular contact using an index as favourite. - -#### Implementation - -The Fav/Unfav feature is implemented via the `FavCommand` and `UnfavCommand`, which is supported by the `FavCommandParser` and `UnfavCommandParser` respectively. -The `FavCommandParser` and `UnfavCommandParser` implements the `Parser` interface. - -1. `LogicManager` receives the user input which is parsed by the `StaffConnectParser`. -2. After splitting the user input into `commandWord` and `arguments` based on the regex pattern of the user input, the `StaffConnectParser` invokes the `FavCommandParser`/`UnfavCommandParser` based on the `commandWord`, calling the method `parse` with `arguments` as the method arguments -3. `FavCommandParser`/`UnfavCommandParser` takes in the `args` string and parse it into with the static `ParserUtil#parseIndex(args)` function. If the `INDEX` format is invalid, a `ParseException` will be thrown. -4. `FavCommandParser`/`UnfavCommandParser` then creates the `FavCommand`/`UnfavCommand` and returns it. -5. The `LogicManager` executes the `FavCommand`/`UnfavCommand`, which creates a `Person` with the `Favourite` attribute set as `true`/`false` respectively and updates the model with this new `Person`. - -The following sequence diagram shows how the `fav` command works: - -![Fav Command Sequence Diagram](images/FavSequenceDiagram.png) - -Similarly, how the `unfav` command works is shown below: - -![Unfav Command Sequence Diagram](images/UnfavSequenceDiagram.png) - -------------------------------------------------------------------------------------------------------------------- ## **Documentation, logging, testing, configuration, dev-ops** diff --git a/docs/diagrams/SortActivityDiagram.puml b/docs/diagrams/SortActivityDiagram.puml index f1964bae42a..b637a607150 100644 --- a/docs/diagrams/SortActivityDiagram.puml +++ b/docs/diagrams/SortActivityDiagram.puml @@ -6,18 +6,21 @@ start :User enters a sort command; -if() then ([attributes are not sortable]) - :get person from list; - while (have person to compare) - while(attribute value with the next person in the list are equal or no more attributes) - :use next attribute to check; - endwhile - if() then ([person smaller]) - :shift front; - else([person bigger]) - :shift back; +if() then ([attributes are sortable]) + if () then ([list is not empty]) + repeat + :get next person in list + and adds to sorted list; + :compare with persons in sorted list; + if () then ([person smaller]) + :shift up; + else ([person bigger]) + :shift down; endif - endwhile + repeat while () is ([have next person to sort]) not ([no more person to sort]) + + else ([list is empty]) + endif :Shows sorted person list; else([any attribute is not sortable]) :displays Sort Usage message; diff --git a/docs/images/SortActivityDiagram.png b/docs/images/SortActivityDiagram.png index 95864c6f0be55a90a8a81b93047e9a2a2a8ef11a..7e1b1d375c0b1e4af6ccc2c4767fcd3e41da5785 100644 GIT binary patch literal 41586 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 literal 39848 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 Date: Sat, 13 Apr 2024 21:13:30 +0800 Subject: [PATCH 12/44] change How the feature is implemented --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index dc9316e1771..1f5cd512ac4 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -197,7 +197,7 @@ This is to refresh the list of `Person` in `Model`. ### Filter feature -#### How the filter is implemented +#### How the feature is implemented The sequence diagram below shows how the filter command `filter f/Computing` goes through the `Logic` component. From bbea00fef28e21cec738d4d41b538b59928de691 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:19:01 +0800 Subject: [PATCH 13/44] Match details in implementation developerguide --- docs/DeveloperGuide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1f5cd512ac4..b03b326b733 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -247,13 +247,13 @@ The sort mechanism is facilitated by JavaFX's `SortedList` within ModelManager, Given below is an example usage scenario and how the sort mechanism behaves at each step. -Step 1. The user enters **“sort n/”** to sort the list by their name. +1. The user enters **“sort n/”** to sort the list by their name. -Step 2. The `LogicManager` takes this command text and calls `StaffBookParser.parseCommand("sort n/")` and identifies the sort command. It then creates a new instance of `SortCommandParser` to `parse(“n/”)` on the attribute. +2. The `LogicManager` takes this command text and calls `StaffBookParser.parseCommand("sort n/")` and identifies the sort command. It then creates a new instance of `SortCommandParser` to `parse(“n/”)` on the attribute. -Step 3. `SortCommandParser.parse(“n/”)` then constructs a SortCommand with the appropriate attribute comparator, `NameComparator`. +3. `SortCommandParser.parse(“n/”)` then constructs a SortCommand with the appropriate attribute comparator, `NameComparator`. -Step 4. The `SortCommand` is returned to Logic manager which calls on its `execute()` to return a `CommandResult()`. During its execution, `ModelManager.updateSortedPersonList(NameComparator)` is invoked which updates the model to show the list of persons being sorted by name. +4. The `SortCommand` is returned to Logic manager which calls on its `execute()` to return a `CommandResult()`. During its execution, `ModelManager.updateSortedPersonList(NameComparator)` is invoked which updates the model to show the list of persons being sorted by name. The sequence diagram for executing a **"sort n/"** is shown below: @@ -336,11 +336,11 @@ used to manage any operations that require viewing or sorting of meetings from t **Aspect: How the meetings are stored :** -* **Alternative 1 (current choice):** Store meetings in an ObservableList. +* **Current Design:** Store meetings in an ObservableList. * Pros: Better segregation of the OOP functionalities, and good integration with the UI ListView. * Cons: Larger code complexity. -* **Alternative 2:** Store meetings in a Set. +* **Alternative 1:** Store meetings in a Set. * Pros: Easier implementation. * Cons: There is an efficiency gap as each element has to be placed into a list before it can be shown to the UI ListView. From 5d95bf29b72fff71263bddf433763cd57df97818 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:26:36 +0800 Subject: [PATCH 14/44] update description of design chooice --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b03b326b733..fc8bd19bf27 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -267,9 +267,9 @@ The following activity diagram summarizes what happens when a user executes a ne #### What designs were considered: **Aspect: Determining order of sorting of an attribute:** -* **Current Design:** Get order of sorting from user, prompting for an input in the form of toCompare. +* **Current Design:** Get order of attributes sorting from user input. * Pros: More functionality and more suited to the user's needs. - * Cons: Harder to implement and guide user to use, may have more leeway for error. User unlikely to use this advancement. + * Cons: Harder to implement and guide user to use, may have more leeway for error. * **Alternative 1:** Use a configured comparator for each attribute in ascending order. * Pros: Controlled and more simple for user. From 4401f6d9cb800c757593dba6ed56f1c02fc8201d Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:28:22 +0800 Subject: [PATCH 15/44] Reorder find to above filter --- docs/DeveloperGuide.md | 70 +++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index fc8bd19bf27..5a0d3477f88 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -195,6 +195,41 @@ This is to make sure at least one field is modified, or the command will not hav Call `model.updateFilteredPersonList())` with a `Predicate` that always evaluates to true: This is to refresh the list of `Person` in `Model`. +### Find feature + +#### How the feature is implemented + +The sequence diagram below explains how the find command `find Alex` goes through the `Logic` component. + +![Interactions Inside the Logic Component for the `find Alex` Command](images/FindSequenceDiagram.png) + +
:information_source: **Note:** The lifeline for `FindCommandParser` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline continues till the end of diagram. +
+ +1. When user types in `find Alex`, it is passed to `StaffConnectParser`. +2. `StaffconnectParser` then creates a `FindCommandParser` that will parse `Alex` to create a `FindCommand` which utilizes a predicate judge whether `Alex` is contained in the person's name. +3. In `FindCommand`, `Model` executes `updateFilteredPersonList()` method using the predicate mentioned above. +4. The result of the command execution is encapsulated as a `CommandResult` object which is returned back from `Logic`, to show in the `UI` component the number of persons listed with `Alex` in the name. + +The below sequence diagram goes into more detail on how the command is parsed in `EditCommandParser`. + +![Interactions Inside FindCommandParser for the `parse("f/Computing")` Command](images/FindSequenceDiagram-Parser.png) + +1. Within `FindCommandParser`, the command string is first trimmed and checked whether it is empty, then splitted into an string array by space characters. +2. `FindCommandParser` then constructs a predicate to test whether the names of `Person` contain any one of the strings in the array mentioned above. This predicate is passed as an argument for the constructor of `FindCommand`. + +The below activity diagram illustrates the process when a user executes a find command. + + + +#### Why find is implemented this way + +The main operation for the find feature is the `updateFilteredPersonList(Predicate predicate)` method in the `Model` component. +Below are some explanations for the special considerations in the implementation. + +`FindCommmandParser` parsing the `Predicate` objects: +This is to prevent `FindCommand` from taking on more responsibilities (Separation of Concerns). + ### Filter feature #### How the feature is implemented @@ -285,41 +320,6 @@ The following activity diagram summarizes what happens when a user executes a ne * Pros: Easy to implement, controlled and less likely to be used incorrectly. This increase ease of use for users. * Cons: Limited sorting and lesser functionality. -### Find feature - -#### How the feature is implemented - -The sequence diagram below explains how the find command `find Alex` goes through the `Logic` component. - -![Interactions Inside the Logic Component for the `find Alex` Command](images/FindSequenceDiagram.png) - -
:information_source: **Note:** The lifeline for `FindCommandParser` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline continues till the end of diagram. -
- -1. When user types in `find Alex`, it is passed to `StaffConnectParser`. -2. `StaffconnectParser` then creates a `FindCommandParser` that will parse `Alex` to create a `FindCommand` which utilizes a predicate judge whether `Alex` is contained in the person's name. -3. In `FindCommand`, `Model` executes `updateFilteredPersonList()` method using the predicate mentioned above. -4. The result of the command execution is encapsulated as a `CommandResult` object which is returned back from `Logic`, to show in the `UI` component the number of persons listed with `Alex` in the name. - -The below sequence diagram goes into more detail on how the command is parsed in `EditCommandParser`. - -![Interactions Inside FindCommandParser for the `parse("f/Computing")` Command](images/FindSequenceDiagram-Parser.png) - -1. Within `FindCommandParser`, the command string is first trimmed and checked whether it is empty, then splitted into an string array by space characters. -2. `FindCommandParser` then constructs a predicate to test whether the names of `Person` contain any one of the strings in the array mentioned above. This predicate is passed as an argument for the constructor of `FindCommand`. - -The below activity diagram illustrates the process when a user executes a find command. - - - -#### Why find is implemented this way - -The main operation for the find feature is the `updateFilteredPersonList(Predicate predicate)` method in the `Model` component. -Below are some explanations for the special considerations in the implementation. - -`FindCommmandParser` parsing the `Predicate` objects: -This is to prevent `FindCommand` from taking on more responsibilities (Separation of Concerns). - ### Meeting feature Meeting is feature that allows the user to keep track of any events they may have with the particular contact. It contains the description of the meeting event with the date and time it would occur. From fe61fe5758d8c238a4e311fff9fa2894908a44e2 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:45:18 +0800 Subject: [PATCH 16/44] include why sort implemented this way --- docs/DeveloperGuide.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 5a0d3477f88..1571e7f9548 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -299,6 +299,20 @@ The following activity diagram summarizes what happens when a user executes a ne +#### Why sort is implemented this way + +The main operation for the sort feature is the `updateSortedPersonList(Comparator comparator)` method in the `Model` component. +The following are some explanations for decisions made in the implementation of the sort feature. + +Need for multiple `Comparator` objects: +This is to keep in view for when other commands or enhancements may need the separate attribute predicates. + +`SortCommmandParser` parsing the `Predicate` objects: +This is to prevent `SortCommand` from taking on more responsibilities (Separation of Concerns). + +`SortCommand` having `setPersonPredicate()` method: +This is so that `SortCommand` has the required argument of type `Comparator` to be used in the `updateSortedPersonList()` method. Since the `Comparator` object is created by chaining the multiple predicates, no parsing is involved to create this `Predicate`. + #### What designs were considered: **Aspect: Determining order of sorting of an attribute:** From 2522808d1937e4bb8f44cddf98ade5cee92c6b9c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:48:06 +0800 Subject: [PATCH 17/44] include missing attributes to sort --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e124f599e46..0b92c2b0538 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -238,7 +238,7 @@ Examples: Sorts the list of persons based on specified attribute. -Format: `sort [n/] [p/] [m/] [f/] [v/]` +Format: `sort [n/] [p/] [m/] [f/] [v/] [s/] [meet/]` * By default, sorting is done in alphanumeric order. * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). From b5fff27ef878b317cf7e2f5f067a9e76620c18da Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 21:53:06 +0800 Subject: [PATCH 18/44] remove unappropriate info in help message --- src/main/java/staffconnect/logic/commands/SortCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/staffconnect/logic/commands/SortCommand.java b/src/main/java/staffconnect/logic/commands/SortCommand.java index 98bb5089fa9..4c79dbfd019 100644 --- a/src/main/java/staffconnect/logic/commands/SortCommand.java +++ b/src/main/java/staffconnect/logic/commands/SortCommand.java @@ -26,7 +26,7 @@ public class SortCommand extends Command { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Sort all persons by the attribute specified " + "and displays them as a list with index numbers.\n" - + "Parameters: [ATTRIBUTE]\n" + + "Parameters: " + "[" + PREFIX_NAME + "] " + "[" + PREFIX_PHONE + "] " + "[" + PREFIX_MODULE + "] " From bd1f6bb2ff9da576dcc392daff9c342cd4775c9c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 22:22:10 +0800 Subject: [PATCH 19/44] amend sort implemented this way --- docs/DeveloperGuide.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1571e7f9548..8d272ddc481 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -305,13 +305,14 @@ The main operation for the sort feature is the `updateSortedPersonList(Comparato The following are some explanations for decisions made in the implementation of the sort feature. Need for multiple `Comparator` objects: -This is to keep in view for when other commands or enhancements may need the separate attribute predicates. +This is to keep in view for when other commands or enhancements may need the separate attribute predicates. -`SortCommmandParser` parsing the `Predicate` objects: -This is to prevent `SortCommand` from taking on more responsibilities (Separation of Concerns). +Need for `MultiComparator` object: +This is to map the 1 or more comparator objects and act as a layer of abstraction where `SortCommmand` does need to know how many attributes are used in sorting. +This also w -`SortCommand` having `setPersonPredicate()` method: -This is so that `SortCommand` has the required argument of type `Comparator` to be used in the `updateSortedPersonList()` method. Since the `Comparator` object is created by chaining the multiple predicates, no parsing is involved to create this `Predicate`. +`SortCommmandParser` parsing the `Comparator` objects: +This is to prevent `SortCommand` from taking on more responsibilities (Separation of Concerns). #### What designs were considered: **Aspect: Determining order of sorting of an attribute:** From 2bbc23db9aae0e06824666c1f8556241823b6fe7 Mon Sep 17 00:00:00 2001 From: iynixil Date: Sat, 13 Apr 2024 22:42:54 +0800 Subject: [PATCH 20/44] Make minor edit to footnote in UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ce69c3c2b43..49fd3d8a9bf 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -493,7 +493,7 @@ Availability | a/ | Valid format of `day start-time end-time`.
Person can hav Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` -[^1]: Mandatory when adding a person into the staff book, as these are important information for students to know when/where to consult their professors/TAs. +[^1]: These are mandatory attributes when adding a person into the staff book, as these are important information for students to know when/where to consult their professors/TAs. ### Valid `Faculty` values From 572787c99f0c258d307904620adff1ccdc5e7da8 Mon Sep 17 00:00:00 2001 From: iynixil Date: Sat, 13 Apr 2024 22:45:25 +0800 Subject: [PATCH 21/44] Update Appendix sections in DG --- docs/DeveloperGuide.md | 87 +++++++++++------- docs/images/afterCorruptDataFile.png | Bin 0 -> 27055 bytes docs/images/afterCorruptDataFileResult.png | Bin 0 -> 25020 bytes .../afterValidModificationToDataFile.png | Bin 0 -> 27232 bytes ...afterValidModificationToDataFileResult.png | Bin 0 -> 86897 bytes docs/images/beforeCorruptDataFile.png | Bin 0 -> 27390 bytes docs/images/beforeCorruptDataFileResult.png | Bin 0 -> 85381 bytes ...eforeValidModificationToDataFileResult.png | Bin 0 -> 87348 bytes 8 files changed, 52 insertions(+), 35 deletions(-) create mode 100644 docs/images/afterCorruptDataFile.png create mode 100644 docs/images/afterCorruptDataFileResult.png create mode 100644 docs/images/afterValidModificationToDataFile.png create mode 100644 docs/images/afterValidModificationToDataFileResult.png create mode 100644 docs/images/beforeCorruptDataFile.png create mode 100644 docs/images/beforeCorruptDataFileResult.png create mode 100644 docs/images/beforeValidModificationToDataFileResult.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 42e19fa2c44..1757295c70a 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -475,8 +475,9 @@ Similarly, how the `unfav` command works is shown below: **Target user profile**: Bob is a 22 year old NUS SOC student who often struggles with finding details about his professors' and tutors' consultation hours. -He prefers certain professors and tutors but often misplaces their contact information -as such information can be hard to find online. He also has difficulty identifying his professors and changing tutors. +He has difficulty identifying his professors and changing tutors, and prefers certain professors and tutors but often misplaces their contact information +as such information can be hard to find online. +He also sometimes forgets that he has scheduled consultations with a professor or tutor, but this is not a big problem as he can always arrange for another consultation. **Value proposition**: @@ -489,19 +490,19 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | -| `* * *` | sociable user | save a contact's name, email, phone number, title in one line | save time per entry | -| `* * *` | disorganised student | store a professor's name | recall how to address the professor | -| `* * *` | forgetful user | store a professor's faculty | see the faculty that a professor belongs to | +| `* * *` | sociable user | save a professor's/tutor's name, email, phone number, title in one line | save time per entry | +| `* * *` | disorganised student | store a professor's/tutor's name | recall how to address the professor/tutor | +| `* * *` | forgetful user | store a professor's/tutor's faculty | see the faculty that a professor/tutor belongs to | | `* * *` | student who get lost easily | view the locations of my meetings/classes | search the locations for my meetings easily | -| `* * *` | disorganised student | store a professor's consultation hours | arrange times to meet my professor for consultation | -| `* * *` | slow reader | filter through contact entry by their name | not waste time in finding a specific contact/s and access their info easily | -| `* * *` | slow reader | filter through contact entry by their availability | not waste time in finding a specific contact/s and access their info easily | -| `* * *` | slow reader | filter through contact entry by their module | not waste time in finding a specific contact/s and access their info easily | +| `* * *` | disorganised student | store a professor's/tutor's consultation hours | arrange times to meet my professor for consultation | +| `* * *` | slow reader | filter through staff book entries by their name | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | filter through staff book entries by their availability | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | filter through staff book entries by their module | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | disorganised student | store the modules a professor is teaching | contact the professors who teach a module which I am currently taking | -| `* * *` | slow reader | filter through contact entry by their module | not waste time in finding a specific contact/s and access their info easily | -| `* * *` | forgetful user | filter the professors by their faculty or the course they teach | not waste time in finding a specific contact/s and access their info easily | - -*{More to be added}* +| `* * *` | slow reader | filter through staff book entries by their faculty | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | forgetful user | filter the professors by their faculty | not waste time in finding a specific professor/tutor and access their information easily | +| `* *` | time-conscious user | save a specific professor as "favourite" | have quick access to the professors/tutors I frequent the most | +| `* *` | easily-distracted user | record my scheduled meetings and consultation times with professors/tutors | see which professor/tutor I have set up to meet with | ### Use cases @@ -602,29 +603,28 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case resumes at step 1. -*{More to be added}* - ### Non-Functional Requirements -1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. -2. Should be able to answer a user's prompt within 1 second. -3. Should require less computational resources to allow users with older hardware can use the app without trouble. -4. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. -5. Should be able to provide error messages when a user does not type in expected prompts. -6. Should be able to store the users' information securely without leakage. -7. Should provide understandable and informative responses whenever a user provides a prompt. -8. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. -9. A user without much experience in admin commands should be able to handle the usage in rather short time. - -*{More to be added}* +1. The app should work on any _mainstream OS_ as long as it has Java `11` or above installed. +2. The app should be able to respond to a user's prompt within 2 seconds. +3. The app should not exceed using 1GB of RAM while it is operating. +4. The app should work on both 32-bit and 64-bit environments. +5. The app should be able to store up to 1000 persons without affecting the response time of 2 seconds. +6. The app should only be able to read and write in the generated `data/staffconnect.json` file. +7. The app should be usable by a student who is familiar with CLI interfaces. +8. The app should be up-to-date with the latest NUS faculty names. +9. The data stored in the app should not change unless the user has modified the data through usage of the app with user-issued commands, or the `data/staffconnect.json` file has been modified with valid values. +10. The app is not required to handle ### Glossary * **Mainstream OS**: Windows, Linux, Unix, MacOS, with versions that support Java 11 -* **Private contact detail**: A contact detail that is not meant to be shared with others -* **Users' Information**: Same as above +* **Person**: A professor/teaching assistant (TA) +* **Attribute**: A useful piece of information belonging to a `Person`. e.g `Venue` is the consultation venue to consult a `Person` +* **Staff Book**: Name for the list containing `Person` objects +* **Contacts' Information**: All `Persons` in the staff book * **Error Message**: A prompt printed to the user that the program execution cannot run normally and specifies the most possible cause -* **MSS**: Main Success Scenario +* **MSS**: Main Success Scenario, a sequence of steps to reach the end of a use case -------------------------------------------------------------------------------------------------------------------- @@ -652,8 +652,6 @@ testers are expected to do more *exploratory* testing. 1. Re-launch the app by double-clicking the jar file.
Expected: The most recent window size and location is retained. -1. _{ more test cases …​ }_ - ### Deleting a person 1. Deleting a person while all persons are being shown @@ -669,12 +667,31 @@ testers are expected to do more *exploratory* testing. 1. Other incorrect delete commands to try: `delete`, `delete x`, `...` (where x is larger than the list size)
Expected: Similar to previous. -1. _{ more test cases …​ }_ - ### Saving data 1. Dealing with missing/corrupted data files - 1. _{explain how to simulate a missing/corrupted file, and the expected behavior}_ + 1. Prerequisites: Ensure that the `data/staffconnect.json` file is generated by running the JAR file of the app at least once. + + 1. Test case: No modifications to data file after it has been generated.
+ In the image below shows the contents of the untouched data file: + ![Before Corrupt Data File](images/beforeCorruptDataFile.png) + + Expected: The app should show a list of 6 persons + ![Before Corrupt Data File Result](images/beforeCorruptDataFileResult.png) + + 1. Test case: Invalid modification to data file.
+ Modify the `Favourite` attribute value to `Not avourite` (an invalid value) in the data file: + ![After Corrupt Data File](images/afterCorruptDataFile.png) + + Expected: The app should show an empty list (no persons) + ![After Corrupt Data File Result](images/afterCorruptDataFileResult.png) + + 1. Test case: Valid modification to data file.
+ Before, `Alex Yeoh` has the module `CS1101S` in the untouched data file as seen in `Test case: No modifications to data file after it has been generated`. + + Modify the `Module` attribute value to `CS2030S` (a valid value) in the data file: + ![After Valid Modification To Data File](images/afterValidModificationToDataFile.png) -1. _{ more test cases …​ }_ + Expected: The app should show `Alex Yeoh` with the module `CS2030S`: + ![After Valid Modification To Data File Result](images/afterValidModificationToDataFileResult.png) \ No newline at end of file diff --git a/docs/images/afterCorruptDataFile.png b/docs/images/afterCorruptDataFile.png new file mode 100644 index 0000000000000000000000000000000000000000..bf3bfb0dac65ccbc903168681641222f35f42b29 GIT binary patch literal 27055 zcmb5WbyOTpA0~nhZiBl^kU(&Eg1b9+c;D~aD|`0r z-9I=r-96J?Q`7yc$BIZL1<8+y_=pe?5Fe$b#8e<4pr|1rAbH?n!F$MA(s{uRq_c{o z2t?I5;Q@F9#zI(L7y<$mkMwNx0lbaiAf@FD0f9~R{s$?oLU|4WVJRjpCamV6f6{?! zqc-1h_H^>#te6XL(g*POiZJOeA_oO;2YYanEui5P;~Y{_{@B#zY{5|JR@|qYqWYR2 zu}qp6j5dj+A@iA1l&WxfhA|mUs>JgygU7JAuqC3EnoD?qLrJuc#GqT$hLt0q3={bd14 zC;}Pyl?e3zvXzeU?^C>cA;x*j)V^Kq;aQdepCRE{*vQz^dC!btaD6Mc%NJE9Cp~1f zG5h_T4-}e4EVc;v_ym&+3jtKqHafHq6xgXy{9T2l@7Iz@3J8%#Pi3POR)Kro9kX4= zHtxKs2HNFffIn<{4KD^9dmEo_-rMs2X7!2--5C3RQd2G{bZQI#$&g(G<;3?Ll&rYV z|McXKkWs#-#?>2HkVuwQ?Z@}8h4+cNo>{BOOlY3b6J1s5@&sPL@#LQaMBoF99W7D_ ziQeZNcAo<=1~UKcbOE#;chu_18(e;KXlQI>;QJ*Cp#C!`eed(LNI5zZ`W)t zMm{alb$qQqS2nQAsu+B`B&flV%ZVlP>0Nra&(DNVcMuN!9scX#1r?FR)#muO)eE;h z?29}!UaF(t_-href2|_;ex{_c2T*HQs6nj4Wn6%e1q$TQ0MrLc4M$MKefsUMSH|u4 zhsIJRfewCeHqRc#dX5VYSk;wGb@WlhH{e@w;ZvxeZ)@C8^QB(H`a%)^eT^G8&q+p6 z)uMBI;WDkun{GH8h{Vx4EDoXN4B3r;F`kDA)%e_=hU42x_dew;=QaC(zht)vbnjO6YO6n%)E)y_q zw;6#!dtun9Jlbeoa(isen`5o|lG<6j~;ajRW>|9 zS2BiUI*sFOwBMDAS--A1niaJNk|Uyb=rS}V4A#p z1J9*3NVD2TJK@`>5$>V$NgRU%iw-@(srSM)i1L6=eK%)vuzGl*f;yg&8X0TfjolPw zT7accCy@LR$#tYcQVM>rYBLpsS^Vm_b%2EHGt`D_Q|4f&{bad*xm=cONvmRrn6b@J ziit%cVI7=B7&@+jK8|BO?$K&$CZD6tD63|RQ;1y_#QhcYr~4!xcY^|ga5NDWjCN+_ z{6dg9wnH1i*-KC@C6W1fM%61m&TnhmssT)jL`Y*Ibd3ayTuEg!gE+?yK|98a&Bn08 zU~Ea_%}F~F?=cw8nf{Fldci)DCf)w7E!*ecyY`d*;9@3PxTE=IcSt??HK?o zM~?@aBtn0hfyiRgEHED8fXa<0kZm>5(s<>}58fAb*f`^yx-vYlJquu=^p zjqr;2<#XVrtobgu;Gn_Kygxo)4fP=%UYj^}DMCl7Eg}s6Y?<tDb?pa+>$ke~coS2mr>273Sy(S&#^?RKC0_bcHYbp5 zp}~(QOb|LX78PC%3Oxsd#O4MFLDGF!pf5g+-qlKj{U-1!6fhL=$p+ z3nRYkZx0E$%~N?PdSd*W^tC%3lg0uO6z-5VT25wq@CXmG1kM1`-?Akzk28=X*%1PD zEYyyG&4(f1RA%m^N}$PUA?rqmvp}v2iE~01-yL-C{EVeW9NIY|H`bdDrr8ZXVqJC8 z}I<#gK1VQ$&h5GUwP7#t|v~fmB z=DAJS>4tPapOI@Ul0k<+M){Fe4jwP8*8kq$;hIkC)}$PZc|2qFKKku);@+BJ@NLZr z-Tzq;i#7ypD;z-W83%YT#!^<_{%ybIG5@m-ZigYaupb}iyX@w{4?J2T1b0@nNKMgv`K&*@5~xF zbq=a^bM@K-6*cPTR_D%)@F@)}^f*hxI|>`IP%p&N&;JEP1vL=mGOlPMiG3aoZ9v1b9@zgQz+6I7jq*(# zJP{Iu?-K(;302i3Ywozwq|pnu0qHp(Pd&f>>P?w)EfVXH#y5=uG+(E^Fg%71v6_0e zAl_`feO2h!7bF|!l7k@$(3;riNg$~}^0!iY^`#0Vd0Qj&59+iM_IdMcXd={Hp7hcN z*ACD*RS{br(?(ehwgu8mvQzQuo=@pIiY70<7Bxr1elrb~J%r1CM@f|)-qUt%=HG$w zvu1AM`#s?eqm!k%vdF)v$DVxXd5Ua%O{`cu;zzBIz4N(RY$45{oJH2t!$_UP3cxtTt5z}Hd$qx}7WNe=#RAgiN z3ua7=H2_;Y9vhJG~h)C@JI`;vj;ThC-_xG4EkHI2&v z^HmQ|U-nHD4tnEI0|qVV0mF@V4IC!hmTll6?d!%(0x9$uSJ>+W2HMtLcvWhHEBpBm z`8Cq%R`d4zZn~>h{l={wLp)+@UPN|vQ}JzQa#7U$@>g$ z)U>2;EI6XHiNPHDVgApirZysZbIUrYq-4Gb&w6yMlAc+zg0bpFZ}B<~g9n}AvC4D< zW(XAb#iVgOSPL%60W5r-7O|Ad;^ zI7B5t8AQUTUmBu}<7P@L!=}+TStu4r;WAf+Z5`f(8mHMZy?Ba2Klcd>Q>u&vwM^i% z<28TU)6lhnWk1{th(TXg#{2G}VuFCo)EFa+S=qR-2f@d;j4pi1>~S=u`}M|{ z!V?>&jYC;@jw*nR99qs8_BW5(YVm0+|1tu{k-0X&JR{8T+j5MBdevAGK{4(Xg>u$O zWAMeSUsg)seI}Evh&FCua5RoF)2HCrN+5>g$7AL83t^noh*@C} zs6ha7mqSpynC@rCra1E+8!C0(+)3f+8u+3J=E*%WEo23(A@A8Ia#dw39k#h%F?g~? zaIafl0U3IbHA5h^$YfZCbaMk5&!1Llr4$%C`g$=UPuh>kKcu!~M&>;3equ+;;wgUP zjH7WLLg}~Dkk!VDxK%o1U1UD}i$H~q;lMzISWQJikR`Mb(b!ISJ>WUBA6*(UTDRs$ zRXCnU*S(6DjS2?Z8SMkWtd{{t-9gipEBW2OI|S%d@hQ>)Wtb-UskSs2jMRNo z(AfuznDJjO7!)}+q81%uOezU63O4a;T+zzBZ2emJilQs0$sEZ!1p4ZZZ?(j*)sD8W z^^S)M%O3l2F43XS61aEdfceStEE0SzVhnUT1$)iTSJDN}91MW4!;!y@DeTC`9>=1_plxY}>$|ZXXnT;w+UKB+ z+jQd9|{N zeSs42Wfg3&h9~Hei zU9R9}tm}5(kOY7*F=EAUN#BAo2ILiiE8+}MmNtidq>5Sg?EwuO=vLxss{x;ic|kJKGpp7h_Bm^adepY0y>e>ZtQ{4M4CS>l{Hz^AQ-LH~V4cJdOMwtF{VZcE z%VK3kf8#yj))pFPWa~;rE#BrJb(;k1&0~5VZzv-N1cNCxgv@9?VtN^GoiuDw)~Jg8 zbmf?bL(BDIyXe@*mE4g%a7lIZSMYb^!bTm)c_BAU<|-xT*_G(h$WEGA**mF6=NfNW zsato=0slfd5TRiCW+uht^5-_!bEqwOOR*tfuBj68wj5IL<9YSjnee7)CWd&p&7IYU zaa-2qlSj%Z?(+Ejk%c~}4QFq3 zjuMB4+YHP`@0eaH>MuQCa2f1`4QaE>B%a6^AqF(5u+eiJ{xFmbVp7Q*`~2Z|Lh4P9 zXjsxT7bDfX(e~998BkGG%X{SkkPI|;QAV0s2>*06NEwUMQGXtz9dh!tx4_Y33rVO) zkON}zKhuuT7z|z*WHm5S(#rXS=`FV4(7*+9quzfA;1u{f0%C0rWl_@v0Gy8y$AnP@ zTy*HQ32GD(aFZ*gekF2ut$#YIy}}wV52vdm#2j#&;m7K!R9tf$==+BiC)pUZ{KXY` z+@gP}XrkZ1vz*O-`w{);6g|mktKS;e==%uNhNf(LD)tXtUKc`H?|egPX&6C|6-_pj z!3vE3OwqE#j>B94QXJkb_1yB+Z-+6)DqnpWmVZUs9#}VA5KH&RIATJEYj>o65{zru zDWRbTlc+FiQX>|UHzfdG)5J4=GL`UjFl!v`x{)|O;iyn2VM@^T#483E z%H+aX(oo7Kg^j7WJ&EH&cE+MEkG1{HQX3`fpYrt-71|?~6e2NPh~wb$w3n9EGW!FQ z)s9|lD}v%=FW`RRk2!KGoCNj%Lbm+yqXEo_r~=_JiO#*+2;TT9@wh1EtL}MqV-(|(tceY8e?V14}LTzb7Ya*3M_C$ipou%!yq`vuTw*gjP?J%p`w+% zA;(pOqS>G&?nNNU*Ak@tY3Xq@0=pp_!Rl)+-4Fd}gzN0}Oj^4{VQVnM({cJDcUn0# z)n;GNc4MNH8be~Iudx2?@b{AaMnhLp!6(u^vL$7N4}MPiZgj?2xe->Ej#EPl~$?nK0Wm|e2nRtUsKN-#akD_k-? z(~T8r)V5ULRc_GByzKmlIps?iKr&|0}gss z4CUwgR7`F8R2r;fQH)P&EC&yq%%;(^B=LxyEq>3iZ{rd5w{q4QTU37B--q0-Ada27 zd>9>BEU*2$*zKa9fm31W>>a)~rK&wzWkxVZ zSuE7M=gzZB>o-z({FAVF@t)or$(w9YmepKCE^wEu#GT>k}e9EhuU|` z$E?;k2h>YlrJDR(Bp9f_2zuantxt$T*d!j74VSeH*6FEyNToJjW8JTe_za?WMJ$(& zEB+AHMP5n1c|UwxJdmIWPi2#4N+8ZaPp3t-RG}HhDCmtBJ+pUzIL&!6mTCf)oLTgT zlb8`mwk3i0;!tGU(d~%xBEL#7m0H1q!A`&u<3gSo!XpY;E@csZ*APO`95?Ip{ys$q zD6aR9_#-xJ5|dG~y{i}^zW_F`Ln*CF#M?6P>6*-grpQC!-SA}FAGPJ)r3MUqu!Qmd zs|7L<&be%Ul)P9vWXZGmqHnMs{OQcTH$SMq#aiMc?|j@CUseTWXHKr9>pI!juIvXF zy8}xWI^oR@I!H_1Rw41WH&C!A@i5g``Y{06x0%_WfJbVg{SyO;CVBZgJD`XS;~5gr6X0e-M0O-xJ@ z#b0n2<$p0}wH3i#zpEEs3*T(Jm&y4gxB@p)M(3}$e~%hv!keLSn$5lKf4t6sO~mY1 zQHjON4!`K&;O+^#ZFI{Lp~AQJohD04=zGIV^oFVju1MSkQnRtQr1f!G8&IWR{B?ae zL(QckYtkJ3v%&6TiQn5dOVCV#3VqR&Y}ykf!w_@5T_T%|o6ogIFi=?f!7V#R`rco} zNr)LhZ44-lq&1p~iElt6_le0(ygo9%pn)~;35)v*DX`-9aTWwj=l~wHOAghv8#l@? z;Mg38k7l4pGlGzF{zY_E)P_x6=|c;^XN9D*=oF=u3oYmsWP)%|9zNVr)JatDUitjl z7iqq*whjdLrHS?VrI^^_6IlFZjr%ykF~CO!hCorQ;x+yl&Z?!a;>UHq5Nxem^eZn3 zwyEnpz`sG|U?e_RVzUfyGH|Z$Y zi`(DiVnPp^(u}G-dt2l?s_Uh;y#~j>izYf#RW%l<9&N8T1{o3UTqvq-Z?w+*A|n<6XWYgISLVw!3!l@O-lLY~->XM})Lc~+qyRGr#>?^qOzym% zDUs4bkg?&85NF~$>$*^`Q%Z!*U40T3>)x0ZN=G?L%P_2MGm*vYKvQdTp#rmfcbQc^ z(m*h5D${ZIdNP4FbwIHZ530xf{Q;Ce781K<)>mteq3m4^$ zzKnw}RA4sFVJrlD9Q(OR?z-wFqNN_5lV+}RH76H} zZvkC=S7)4L2N-$G=`okZxCR)MtW8zjgrIMvs(c;XvY8E1D z=@=HQ22d}Byiu@dv-W>kD1lX)=q^81Uth3=9jB@HP=an=87K?nvJ2fGvheD@MJWP{ zP4!fyrxMb8Kr2%3KVAL=nEC2^0{bK}9q!X7t9vO6NL%Gdikjl67hvC_0Z=0`0Z*DGRnBTEzL zRJpq41oVGE7fDr)YUhS3K{23mfr>hx%YE$cbn{y7(#=-SFf6_f7;(kqFbR5aDzJbV z$F#ujkPmgULWE7!{eRR$;EOz9`6T&pWyAa-aBiO!<|;}5ykmS{119|lRH*~PX;3Yt zsTL53CRUU`)A%ia&vAtjVr2|i25W?n$mR=3&4fSA*;@Bc?6f*=$;NPuM4&*!ENsr3AW&7;)(xk35S1M!_&RcTz2PK;taOAN~_pGDm(5!yXP}1@ zD;OvlOX=m4r{P{^z0ukgwN{1f0Qp*+V9y<`IqghXP9My_+fq;zAd6qNeFa-w4SMGc zr;lWKWEZ3@OY>sFnOk~H2n`WBRH|0j18VNC6JB?&fAo<0Vq1~irj(v^-D?3A;-tId zlTe}`mxvr8lZFARaIB9E2%>rMG{GI8c+GP^M z6Y3RbN~d+{VOFidNbgmt&@j9(v*57mK>sK&gh^4ukdxAg$t3&TuCj~ z#W6V((e4uaj*?ZYB*=<|jDuHRq8J6}7aXqFlxTk2_l%&;k-T@XcV~@dOa(RV3CNs9 zkl12VYw-^H%6hhTCblm=n|ylLoGg2ItAMMd%tg-CpUACQ96yu^FsxWa52(PRJ$IC95$P&~$zO=Ma5fFZ7`IJ=uM43KH{pkXifE#B?1`DZ? zedn6zCn*u940(F1joe0==2wjVv|f1mrY9!!lPy_nq@X4X9n3*5m7f_3(3sKTRV`Jp%+#D0&YKBz(u0OqLQ25qy z7m`Y$XuvwJ^AXeZHU4sbCaoDdT+(OC-1ud#~w#$m_Tz=kE=6l)gn zE5K?C^*J3Uk@_=qrN2KY1AA*wY7-y#5r}Oe2msGT`vUhzu9}=9Uk|>_2oSgbF!Xo4L*emCda2&@Y+-xpF7vMUDPuK0_|1!wzc@9- zdZ#(#xJ+2rrc*ATtg4G(uf1Q2tNP-F%j3z^AWiK=E!RKdY&xOB8;(&is;(3VPQ5c= z<7)SpW=PU~tfvv!P}CF#%m}4&UPIU%hQzGAuxbMX7Y$T$3rDX!ivQ9jODJyr_FsuH zX-q-me250yU^_(F#P}z@J(Ji}L2(+x`2uiwoP2MhR5ItE6i)ML$x44PlbL3bQ+o`r zNLN=$3NQmcA*8b!OXIPmhQxUGhfYrg74JqN?cv$j)t!V;2EJ=|zqlxfO%fOs$Y3b@ z%R}mOrGLLSzlnge9N-2VllY&_wg1(Au<6$PkLd>EYc9gC&TE^C>#tOd*xXX^T8y@0rL$d zC14DK+xCd7XN>VimK{8Q_L0T*jdp_#Z=g;iqXsZNArK5fuT4Cdrx!-Ie*%;l7?97i z&_&u|802;fIzi~Mpr85;3H4m=@~Hcp1U{0%#QW(-aMhc#(`fi($&cN$ft%$4JgGtV zDzOc>>~N(^hl|u^rEaXQT{f&c$qy=K>;oV|jK`EipbC$^J!^<7g&UuRG@l*y9$47D zfPWV~R`NoAsoc=dgcMO*aL3f$x+cDhZ6p`g%~Mu$G;HeitL^Q}72#pDOsmP^1pDkC zu_?&MW-fkf-lW#)cE1474I4f43rWI_tIPko*I|Z)qhqjl7wa{fEMtI}67BW7e?&LZ zA&`ggy?AMy)QLqR#dCqk_Z>IBSy%ynJegUr-1-c<{#ELb7cO&_fKM-hQBCw)!e9g2 z)Fl{H;axShWF}*2h1J%B(bei3D~%MiUalW^OGxgMma#WR+`nvqSZ*FS5RSdTA%d|v zx2FNx`f}sY|HL$c`@{C{+71?@=jXffb7g#n9>c31*60DG*35t3ZNDT%hK2356+r^Q zHOplmpzk2uy3X)zlJh0!ODpn%`8kQP04}e84DumCcm{%IqxU(i+wrMHn_pVan!yd+KVV`gp8b8s%Q5-&4^1)J(-`+ud_*7EHy1Z|wOpoHS z60R+9OxI^(TMX*8+lFZs;E+eaZ~J}JP;2nyBou+hA~Hnmyo|8%L*B#jh^I|lsG?k~ zluzPxfTE$5ij-VayG%^unlG*xT@+C84ZbPHLHpw~xy-SZ6If5YV}_DcRuzCt`V&9F zw@jyem8U674m7ZPthMlWe#D%Uk3=>i0;}Vj2tq)tA0K^ z%|RyiC8?}mJ}DPDWvY}MxWa@5@|rR6vkyNQReO+BNb@7a;#4feATYqEJ`Dw{UZiM7 zDqLFpD;-#7zE$^$x1&Jacc(dy`%OnOf;RC(xSeJM_aPa8c>7b<_vR(b0bnU{8L<+g z(K#~D6>cAkv(^X1$zWCiocQ6^^tg0@wF25R{Fe&d$P~yn$EhJrZuN#J0?MG!iHwcO z_K)X0-x@GD!3v<1n|Uo5!E4^A!#&P8Q`F2@;IedrOAQ7B6aC(lqrJ~CPPpSU26KyP zXCf127xH&=U1p;78pW&MoJGTV^h{Ltzmw+GpMrI%(YDGag$u&Bv6BPf?o^2C5eZd> zxqVR5 zbXP9g8T!}y5+0psG)%We2=nuyK4|^Ut%=W4F6@2hnQganSNa9$)?+jFwRhj934Tbq z$PMXs*wxBYQV$^VONhALve_4UA_(-)2zfnW=!_r*+%aR@7s!576v8d|4I z5ms!n#D$l1FWr}zY|X%ZS6i3Ygwbj1j|#o2S|WSZCPQ#lfQkRb?5aTODo^==JN0CH zJG1T8Pg9)O?x3~S?KmP+Js9GYjlAmR` z%1arl`>S_@HpQ#$%Me?GtnNA(rm-Dle7;rB| z0&m)6x0f!!;*|i^?KDfI?ekU9f6|CnITsWDNww=Ol+(_soM6qb)r%o!p~c30f!j=i zFJ8{-`k7NTXxU%o+4=AN?hZmm$V1?z&od~@xf5g81QBYl?ML-+-itrPqjn|;5P|S{ z7#N0~1n9BTZDER6M$Vf4s86U&4()Ve(-xCMi_SB@?Dy|H{fXRI-@6Ns^~B2#cQ-4R z`XA$IEoN7dZ6|oz>W^o+79-d(+Hf3?$1@ebAHFzYArqGdYhN<~xidvT7XX%+<3W*U zd-^c)oM|sw0CRf$W0>j!5|d5gYshT|NX z8Yed4Cgq0{oV$GZ>LDUHdXWGiPFw zV!a`cpSdZR6PqT@Q?mff$fSt9kh%k!x8YI5q%fb7o_Wd*B<$HpaQj^z6K44~A*tr1 zyk`0tl%>9u&+CE2AAw3|ClMugh0O|H{wd9eZEhgzirWwV{yxpyQe%5FitN%|&Y+2n z!=?lVrV$byEQ$_i>4;pu0pQq>pqd;k(+f3LzNs#$NWn>vzUc<+$T?7NezfYuoL5+^ z8@gEcf=0*DNvTmV>T_G9#F=U&hGNACom%r<3fNRSZ{!~g-||E!!{9B_u2^WUJ%ArC z9|9Xuk4ks&yPqJM1m0-5l=C&!eZQP0(m2y!wA&%1;)z?Xq>l=bLN_9Z*>k(!;y84z zpJ0~uOYk=XZQWcX0AQ=Z`eZaN#oS~zZ&c(@U?)a{f74Shu_CPBo(FI8XT5tHXg7wM z<(&+pc*{q-6-J46u)EQ8R6DZ`$7&1Vty5U;USgukFDPI2hjflgW} z(=N7aSlVWPxfXJito63MoOM8Jcn-5(zsz>> zpU@5BX^gFp4p5$;lab=s5r6mK?tr1o`>!Mxwn%sY-n1du3%%T5@o}0Qy3kKv8tsu0 z5O+Lo+fwBvfh=k^%#2G=%6q2u%}u@^1aB+$GBq3|++BZ2ilsMa5WCznvT^Tf4&mI( zWM}?)w6}!IQje zb}~FSZe8>Bb{>X0!d7$w@~>d#9}Ser3qq5)b5M@2O`Ax0C(pL|5oN84FW>I6WKLQ~ zKG|kojE$u9v^ui6<)uI>e3Wr2{_OsWa6$DBnb<$_1|UveaS8NqRKTT}`n^u$TnklK za^8AGUJxh~o~1y3d$)?mabr!2q_y|Pwpt`63HBQlF{PRnf)i^(rB!DIcW7C!?-+vG ziWiCznEgUb6*qcA<`Nz9RGn6|)mJ^u^imaIDD`F3jO{cAnyX0OBDCU?(+CUBj#w;*oOq0^AFva1R3sCq_SM~ zz;*EK(9=s!DPpqfR%r2QIT%Sde0eRz+Pc*UG zm9d1639|&~6{e*ta2Z3Tl>LdTSkmSf&y}tmM>O7|aFi7r0`GV3K}FqC?HPo7Q>@$u z8hDoZ%sM7B5*8q)bf9)67_P$C>Y45*L5&?a3jnyvQg1tXW1{#Q5s3Epmzivp%afP3 z@CI5W&f-WHtVMF?u+okkc>}IqY^(9~&B;5&iOl;9zN zVeO9WJkGbbXou8>s^L|c6<@f=kWSx!I<2?2W2nr}k(#4eLC<3P7KXuIb(MMDmbl~n z_eg`#zDU`ep)WPJBSyUJ&A|7OI%m;otT8DPispgU9ZUk+NLKq*T)wi>~m+Mw{rRxda+c83F* z+nFA|BurWHCq-04p#)GmeknJVjf0%6CH4!~M6SPef|HGqX~{C}=AR(KI$z4z}w!5;1R&n^>1R=`qh^?ZrZfzI3ZhMt}v z|3dnNb5_w+5WMn0dCfR*+=sAi&Lay#`?j zv*FqA9C)O_9^Ww@dwWrQ@HYIQXS0m{mK%}c9%1qrpSI(@yAq&BgnM8Lq@chxag z&;2Y}-+>@6?`GK*GyF+WHOq83ZT@dGhJdVy9VqojkM;c&TL_$vAMXW;`dHR&m0s$c zA9zY7adn(pbK_d0(dy4v%J&=d72LR_Xayl&Oe7e$)z=96C?-cdjk+F#gT8#ogeK_x z3yX_kCVNMfNX`CGQQX`(UX42op8G-uV7lwO*PB%bHUGA1l$DX+S@*zYacDQtY>326 zwP~;t@oC~taNsNu`^&ozb!R^WU;b95mu)roEfl`Rf<91T&s{jX?i(NnR|RI7J3g$H z8!1A_SZ>$97+n^r^+Nw@2)D*o2)saxFZQx$``hDy)-s1z%)>}EIJkc?I}i}}`&^qq zZUxrI5r5hCIZPB)ph7QBq0RhOBhdMfU!(IVIZ)#tS91Gm8t7|q)j5Ca9o6+kAuA?0 zF3oeG3Py6xoI1td?FIVawhM)bo?K9BST=#i+rTHvYoh*9E78G*;Aty&N#J1*A7$C! z!pna-1CbwIdMs|>>f!n#I?2!c1@9WQ%YJT2Ete|nB-h&K{LJ8t;PBa9j1M3@yrnKD zcpQ}(W1Mh&Lv+Z0>--?wIpi=z-%_>w)5`rVG3$$WoJrw+pVBRcCy>NtTyk4=9}QXLkT~5?+~y%`qK|#KTl@QQ zI7o(n|IU}Eo%TD4$Caq<8P@s<)QWpbaofx)A#-W{f;*gU%u`(kp+a2g?R6l34nrw} zjxnQ`+vm8YlYfyTu^`aMKm!Q5=&ixSlQd{XPPaHij(Bx7^&m*uBI!||8BV5w3b4#})|JmZ{IPBF zq2=+0sYK{&wk^gXaSz|{+Jo&1i}KCt04*V3pf8iP#GV%wmQvVZ<&jPFPmAi&!wbZ5 zsff{fq(%KbP>f{hdN} zwZM7OwK}&|fihJ2`jeer(y?8`m6QceRxbzw$-LY-akXW&Zr$BIL*+TbnrW@+_Vmi? zPpqL#1&IXV>cMf;o#5ZjumTde*}br4`WeGC`ny~WQtmyc&oVcyc(i9OjcwzSf*euJ zpG#wqYU-<0&-c$tc<)u()K=&FWU1E|T>wyWFgdb5mVm6u=$bCoj+C zXUQ^>o7k;ECBsA{nKaZODlw8GFPYpNVYpV?+zf1~fC}C3N!OIQa8pZ$eCIT~aR4AP zu-B4FBf6LITdjGYNcN@oDR3e_AKHt8Hp5~bdTSxoqQ=Rr+b#=tTrWwh|9Ewt2LrQ` zy=?^bx0HA!FeaNs;0RyZ6Q{hXvR~d6=cS`@j5U4?VoT(Wc4#8nnKNfaW*cVp(}o@I z23JtGZG*I*WCr7$|EWdu%R~g}0C1lud8)r3Dm{?ijZ>gk6TzP_*%|pouXgLyrpcY) zEg<*Q6%mWRh#$N59rU#dG>sDw08D+v70w5fzmW-u9fvl`XpLs>`H%bgi>qGC?9>f)dz_4_4D0b)gJUUAAvmWmAM48E7dvaib+x z-oa;+z~WI95nUMkLvJ|8Wsd#%7I-e+6X2B@SkV8;a!v)?mSQz6kc>8>uXM9^j_MMJ)VpHIg9}L^?9Mbv z9?iQZtaK*mHEA2loEqh#D=vM3MAd-&iR3#*v4LHA;P&8U`p9%K3BieLBIJmsQu}Fv zt`UQdKA;lEfKYa6o{rXqFbsZ@>G)g|>OG>0*^GBK|I)>}#Z>O{S})y4UgA)J&KuSY zI@hic<7+&6OKKtSBuezLczNs6PAGMrNscS$H19zeWY3a?LZimmX~n7|%@=#Ym6^VY zpIo6l%^s$$*4c{YC!_dr)g+V7bxL?Lc%k)K`-zM*Or?7)5}fFVgel0tGNemP-SM!( zQ~a=nQL}3ouf>N+39syPD_x5&5%wtjCS(jrXwdWt^N>rC@;QQMclX+V=XbV?6=qv7 zI&;-M^2F9B32)Op_Z99(1;Gmx0mdCTEm(c-rmAf-4b{PnfaLos_0Kh<`u?gV_bETv{+4 zh=YvZ^=xFImUt4mYW75uk;BmwDPrJosU`Zz3XV+Sma|}Tc*s?v^RM;NAMqvI9GEwG zBCKa3A}fr!2pu;f=>Y0NM56_BL`T8cQ_`Il`c1&n_+(t9q=(-DuelD9R73gs(At$c zO3~CuuQJHZ4HqgMFN<1a)=h@FkJ+}Co^UM+tnfm>Eb$4d8|D_mH-~D=$(1KmTAUuI z(jiS{sW@ign$WvS;Z`n%GBH$FNRdKBp8+?cr^Hs1Cf|tFtc? zXg+M+7kIE9Ti9+pGB0e;k$&Pr9_|zsJ*L@QIJG_LoN}b6dO?8Q2jv<))BIuUARJhmUzbg5M^GlJvv~|+XGjO!# zuf-RW?~fJ#gRsRDDr|8Qhaiw`f1*b&G&Z|6rgP^C*6lUihA%<>KsgNE&Jl<{BX20A z1vZ0OoCx21sHsm$0gIodgB(~9tSCJxjicftKg8x!HvL!gCf!T51TWi{;?mln z)}hK-+}W6!{3T!p+`$Lg5&4v^$t5KSlQQC={J-*;Bfey^txo$RWRz;n+axTps=we) zUk8R6qQSXld_>HD{}limnArWh=)?%Dm%lGQ`QNnNE}Jz)NW4kgH^&1%`mk^R^J4-(%w!!uc)Hl5;nuFTh-FzZOqg&U%6r}JcyXyE(R2bO@xFzXbvj> z{Ir1sdSx3wG^byl(9nA?`%}I%JL%ZJ-N_=Z$m(N}8 zJw7Bdo%~2NQ@Md)k}C>!9HvwAet<3Q@u?aZ@ms1y*gf!)Y_De5j-iTp_Cc?=>3%u! zTvNpBgqqt-V>*NhT~_YB!;dSqh-bzx(rC z4!Qh)m3EdCOQ}kj@bS0qO2~ z_VB;&XFc~??^@4#-}lpeftlGbv-fqKzwPnuDmtH*E26Ve%AqPNKDtb#Cc&SSx>l!h?<&k*bJ36BHI)fe zrQpt!ba(MOsg6t7nM!%XV|#|W_Zf8nl-Geh5;%7+GupZuyjSQ^8MoCxurm2(cvW%rE-T8Rc&^o^ zZQ1A+7mRSD2ty|~l2&XRXyvVXBwKbrG*4yVv~Z_f4SD`6e*rSH%q|ZE0zweF8)e0}epH^DR!Jb&UoEFag;*l@))_=n}--5^U zU0{Cm_O4@)EV@;I;<4d!X8drdpL=ux35zHHbXI0%1__2*(u{r2ClcZT)|9Xn(ubxx z4YHpR?F#96<~n4ZQuV*9Za(Q4E9$rqFCOh#h1^;#K-s5kM`DIZ#o~VsVgmJyaMDJ% zRbARQ;L=T2W6RKxSbv7T)IVucXi01Y$P;~!Pkc5sz(NYan9QopZ>gi8t2^tAx<0v* zj$W6BCWT9?KGA)#*mQP=)nNPUymq&)JW10(6f zBA!x2d z-kUy2wx7;uc_=q;DqiEbih&T$l>C)AVV2PWO9hSgW)# za`o}fKewEM-)8(CpT*T(k8Fg<0$Zb6oga0|>B%=4NL>XV=9je5cv~EJb?g&CIYJdC z>70k?`i@**$O)u+Mh%UY)Rud!lVrU@Tx4ONB}XJntESqh7!__<1H)Axy(A-bST_FC zKX%QLWzT1SMQWndMxb`6m4aF{+_zQhI_uhH1(KpT7JgqzzV+2z`wsstYVB@c3@hRa zW-wYx%xXv%_st}3lkuPwsGWqz@ARA40%}WEGCNgs|zX>WqUH*fJKuy zZYV|7vT^^}m)*+cya#SuJB|x?YHJs?C3`uSlDqRQLv{Glj#7Go1J`>3IaMtFyC}h+ z%M0NZT%Gr|)^b>3K?K}vIw8--4c-QOm#1?iRTQ_6gPep*gFP$S2e*ezNG$a`HC-UU zWQd6s-H8JcRD~d>SB+P-jE@>(J_?9wqu;6 zTygs4k|KdCzt31uP|qc!%oH_+xE};ae&dB3Hza$#X=ceweaey{%Cd3HjM34j8aGOSprtfmRm5TL|s(Az{R*!vjsc}?QU00 zscOCkM#sdolM@j_rwj}7T=Bk06@m+TGBs2%M*nB?j425KD1su?*^6Ezu=W{KYgk8X z5&I7E(i4#bSNCtfiyN1_JkZkSfq^#@>wPL4o(EzfjEW5|DZl7#a1`f9r~c>4EAqKK zy{bD+%r{DKx4OEOQ%O~^?f*Wd{dZeUh3tt{Qzh49yS3sC*pDEmUxM{Nir!9#lby(Z z8dx7Vn3knbYCmZ!$k$ix6>%NoyR7oj`CK}_tQ)L5;Y6{PzDjE5!{k)PlW`H@bwm?E zDpE=YU7zUeeNr|DHeY-Cme%QbZHAsn;m>)qM55*KPbeQtWrFq*Z-8C-UnGGzU1Bm1 zvrqVD2QU(2JhfgkM)UF^7}?Xm?D|xiY2=5tN0rMUBcs8?j{|(ed~Z)B*kYJj!O?2E zO%^nW8X6+LQ;G|>t5w`n-<|myduh{jJdie49B^?mmo+kCq@<~H^1T8ue%wu$**?yb zWIKHZ3xo9{%*hwaEYCaE4K7|>G~W;uRE#0(97`z zZMP^`Oz7?1*kCvuUEi`J@^PIMV~q%_MW$M0X3=vCp_hVFb4jSh%cb*3Lq?s&_SI0E z@u~5d}RM?DjK7f!Sszm?JcA?G& z^Pd%qAOBuop zEy1aMgA&7x*r?5}2LRDlby373@j{UZ5D$h1$h_u=IlP|h`lb35~$~P_+3)`wW{C-r%<#q;NYfx>ka&+ zA5J3vvdvR;IY*>jom2GbC8GTC{xqDAcQqGj%jtrghF;@eefuWt)M zGw+yiLBQV3?TE3Y>gF_m*O&U4YO7}N&gIRp$b5FK@RMBt7+{WbdcNSmbvu&kKJ2>E zAIJSN>P9kxQ&Oqm!tP(yB?^~v*OiZ(@SBe|hq+uRjn^~H=$k-Uo`FFM_ma8B2z(7t z2@@T3(jD34r6sadRHx^AXWL0qGPsdZAJI!{T5t5S`8ffjica8*<+gCe&}C~kA<5>y zL~jn;@Qe+(`W#0x>NhHSXpM>O=mOd=y`%k{`p-6wJjv}E&^jfk$D%OSlCFp|err95 z)s~vD`uEg{U`@vz>CFf?7$l~m|Ten+8@QrPh zJ|EG&o8<_uY>LzQ?V`bq&%SZ5%!U^^nO9DH5chJ8V?)}p+g0LxcYOC@jn@oOXO1Rh z*?65jT@%lVW*^UfUM(9%_N=ex^<+8O#OZ-|Yui1MbNIwlByv=7D>)TQ{OEtez^x3N zg$`Vi*oCefuUTsHE=K}T;d3sn4G^%!mm0v=vQj%a?l9)lH*Iyc>@}N;>Hzis$Xqlz zYx`WZp!GLNo>XP|*tM3zecjOnXS4#%dp%em?L>;oW()r6Bn_O)mV=hAJoFx=XV%uN z(jHL4RN%Y=fDZ5JU*1xf8RuE4G{afzh@_A_C17e^j`mZcJ+4!fJ4?XwlV}O*_q>wS znS=D(FPkBF%NE(_%?o(8m;C)izKbMlf-bib()~|{+m+;O+5DAN2bb-;crpe515sg=k;ctWih##yV}wga(GW? zko8Puwzd^f+Re*n*`KRPxJRp=@D~;XN)ehZ?Jf@-e+1-j0{k!8xjD}36P|#!+a-P8 zr%pV2`#8fujBOsnTSPwRQW;50K(SfRm2zUB#gI%$#4;7Jg3~Wr-mx`I01Wr0NUNxZ z*c5W>cE6dKR~Yw#~62LL6^Nd<^NQ)i|AUoQ+0zSCIHWu_v~7QTJnSbpq;3e1=K^xtKNRbO0vq` ze5m9n5im@T&d>UkEi+HpR9fH0ejRXJ$*SuqF%S!iK4tx+S!pREf^mduSB@RVT=4%K1cd z!Ty)iL2C0_sGP3G^5EEVk8KhkcW^_rn4U{;BsY~aF6m{Yw^nSvMH511LrwjUM52RJ z0}AC1#Dh>M1~V|iAXZd&v9Qrq9VZAUYqHPfPh@6)^jr8NKI4U8qgQGHC-w}in!-7Q z+`)9q>{r%w@JH1~Y-%Jm1wBTJis=j3aeg`t5kS7%h~5tV8Q85q<0_}NWc>S->%(iu zzz{Z~Kd=(#j87ZW+?KkYMNU~qlD|={-fr%l9 z=J0UtD?yE@FbF#~W+^X1`84z!Gd7=#E+%^!sUO`GHZaHeJ&D7+UPq|PgfrEbnm=w> zAy40&xXpNHATe=)_Xuv2n36U;MZsR&N3`Et-+*{G_nxe?OEm7_PhA01Qws}sBN@x| z$nsgNg4c%7`HYi-7_EsL2gLD!Gf3&RR&dGH1ewP^>WA_EZ@eIi`#83ZJSgS+vx$sG zN^;*X?Il@^qNc#Ux6r4e>&?1cp(7b!)Z6ydU}~@)ldHBX6HX!h=D`uDEz)g>9<;;@ zA{;2A)evWbW&8};k{j?+HL!j*0jV}F>^WUUm2Mh~`@xXHW{43;tQKops|KfzW#WLt zz)F>eie*ukcS5$DRg%TQMboK*+ZQAJGA65kJ4{YIt{)D3`K`ZI(%s9Q+5eK@TI?CJ zIZ=G)bkcr1%!b%P{XIz00nbSCYfj3!)tk@5uIBn@`sTd#2V-lH4Om$dkryKvlypUa z@`>2GUv3fGOJbC@NCdTj)tGyL^Qy70N-g4ZFWb8uYkls}q6qvWk-;|-gkf@kMefh# zIbQ_fY~=d&M&AXYg^?%+E5#|dCZcYdX~2tMsyxxJkv8~k6G@Ky%D5D#7w?5H1c#!5 z*+&ZZ&2U?+St$lPpWmS}T8=E}oknEb`#;6K4C}e&GejMw<1vg0=FYJ0r4iq92Ts`= z;nd$y3Q-OPIPZn}cV?T$XF0>!M(nYBVV9iDliUtQQ7LB)+3(_|o}LotFH&Xz>C@U^ zjAglMf>AZ(#PKQMnOxBzWUtm>#OxwvR{n*p_Q3it5E)}r^#7m|MN^`e2*LuGAf_}{ z(_{~Qs_E!}hLBu*^;V3%@zUba zz}k({OvM&e;YStvjk?>d)rOAk65iOxkTC^LmVdTAk-QHyM&{Ly>(AHCSlD6IbQ<`I zqu-1JN_$YmLHXEXWgC#)kO+=m1{XnHQ;(x2Vl1a-!E|yQGyJHE=7T5uuD{#akFuC3 zoNe0kF_Pe4v!lQvGTP`tEPH7(Wl@BAB>|8)`YIO5`bfr>;}-4#xj@NjD5zTTM{?kK zX!0kgXsC&{*Hqw51MCdEth85ep`GHOh_l~j0u*a!txR7$$Jm06VyPdNGlSS&u zmF?)J$6vg6u5-NsK%omeXdt;`m?@kMZFu9enmo%8cH9j4Lu4u{uD7R}JYj##*7M75 zF@R88o;PXe`_pYnWS)vs4fA2#+5WErqlINDorx7Z?~49;7tdjjL=fULv24+^4{X6k0K28zqE& z2A;!=d=KeVStZ*b;3LK7?7`qlkssV@sLKB=(ty07~!bs_}}@>h+CV`obY=GY_RQD zo5}XIQaru)Q2}l0Z%5UTE4ezSe`l>!rnV9hCwOw(sg#xAS;`vMbN!>0UmDPt&S1{< zvyr|iw>gsF88iD69mT)R(oiXlW>@m=D-puWnHsW+3SXdE0zU#gD<0q!hU$jJ@Bk?a0=iA_jV~$-aiVIe1?7MDJWlgZAwYcP^0T5hl#oEE z$|etjs^ZV)M`%9mT2r-k87hv71CAPOJai}9{i;`>1N`@l(F6410tCc*V1LG`R&}i` zS-Bxme5q0Kqq5EBFtsAI18>eXWL;53xSHZx>&Fc@SYiP>TSxs|yf@0zmdBvaaxV zGY(#{F9!!9fQbc@7@JC;@Vf7oqdIaYerl1vQ}kx#60njSnq(Xs7`%a{SoBHUBQ)>l zDHiE`ko`qBQPU>W7v%?DpHZg_*95Kv9@-5>M0OKceP_$Nz5Sc10bL!8X>k62SW%nAi&8N~!u?&gdd05X|Nhha+v z-mjhM@1(v0ZR5+E?1sR>sW<6>E|uKB%XneMWj2q2Kk1d{)evr6N=1)Bj2dUiYRNCpw-MpmZW3%gGn7O1aKc3T)4@I>7ET>f2Ap+dC z`o6Mp6E@JOjZk$M5V%dNIINV2EnnbV%0=vU3uto1<$04`->8b0H`ggghhK=YZ2gk@ z9+$tV#Pg)g>miu$D=@Bd12%&zAs`+Vmiy|XLL{%U9-D0$pXcML|47+*H&XEVJ^*Lh zt{*KMb8lml-);|i$T)T$fdSdG{?Z?Az`)l3SK3gzD2*B;`=}np9-I> zt}xf~XF{?kTa|zgoEAAb!vwQKRbq$R`TIcS>37rR>}W_2_7IaX5%bagz$!38_}HOAltV7lBuA<{Vn3edprVn?EKlkVpVcio#mt@amx8qqK z9ct%y+Olxk#vgj8tF99jz$5sZwU(e(Bb<8k;vfC$noBG#u>3gM)eSaS5@aR9#EJv? zsjmtk1*@H5&DI~S(e(DHgoz$A(v78r@bV9BfA9FZ#RqXnChz%C1SYIf1I78w5IKQprN*vn|x^`DcO!;Fhll33EZWeZW1B_Qf$i^tsY+2xs+9G+=h z2;nw!Y<~f&p)}g3Y!krE&W5<*G>B#?6v~>$udpiZ6)~Q7icYpQ&6LN*RGRtnYqU;= z@73lvJP|RTv3lJv%Fg~^Y5b+rNqqg3(pS3zF=^?mcl0!_av zSzM>smZr(R*7BL;$5ND!$Jl^w1>TiLtySBuUyni9URgD`YTH2WE3qU<>n4h4W(cah zvEP}h$<(?dIa4L zY7k|AxSWa<6RW#R30V^DnEw5N)9_o%oOtwVXem z;xzDMFkWZZ*0b!wa@azcf~CvLj^mY@uwJb%e0`k_u0saa3xuT;pJp`QMg(jPs^!+1 z+lf)xX>RcqrJigf$gMO>C4BK0;U)Kt)+jhscL%OrI}f<8n(!Qu&}m)cjEUU9{>?}_ zRQ%wr#M)Vtq#Mvzh3xXcgK9Pr+zVAUwtS*yb2}Ol6y-KgimgrqEp@Df=#6t?3V%;C z5Dy?Wc65jZ8yTK!6_SS|NQ0)(T6U^|6B)4Gtmt@_HgXsB z0za+OErYV<`?uaM8_dS)4Qej(HMWQG@9TyDM%WRCUdSVNWGw>_xh{{_`WqcH@W$^j zNWF!Aho>PReaAF6k7!pdNEaojAuqZf*lE9k1;qdg!>u;4J-9qGaTeOjdu(g<$k`gO z?at5i-7fYhd>9ZXS%wUCzI6*93WpA9>ciU>wXGCi+>l`_>WYUnsN<ip zVVCl_t#`$*--11CjO;Z5-~=7MWzY6$ZzgGFSn0wD)i&9OC(pMmJ~(t(^n<&wIW(ar z(Y91z&1Q#V(?coG9id*VXr`K#w{e6`#<;!L+_736mQL)d6! z?-F#@Nn9R5|A-CcDY=oh%t0@8jUmuIYar=uaM*Qr^)TX*&%JAe%A-Q@3561`bQPZ` zh~0jUhRIg~3Jgz1Wm~tER{cQwKQ2&)oIh23nETF+o^=`fA5;P}3hgD=hCx$7I+?!l zQkJ$e`~lWjm4&~;tOj0E903MgVZc9)|YUV4ROg*G~U zd&(MGgK$WK+oO)%={gExfrf!O7&J`mQ&KdhtbLa(pSz_gg<99ASv6y^XFZfZotPrZ z;xvC=Dor#veVbGx*H9&zeK<7FF{Ytv9yOdjFmcc^jt5Y)F>wG0C3xQ7 zq>dS^IE2RAzF;M_k8^EHI@G6oLQ{d!AMvrX!6-*~GNv!9)JQd4Orf0z5G_M&6NfJM z;01#ph=!g22w&|A{zP(F=qd$D3q2Q|q7Bvy`f6 z!$V(r3}OgD2aoL5l7R}7ucz&&zcVQleq|Y8aJJ+kw2T(;uz8FO!WcnMHA|l@6*C#5 z-v&iBBgA`W)HJsTy&NhX=$I22p9R=r1vMHesF=RW;ZOj&SaHf6RV4!cZK~c5G#jUj zA6V7^O-5(tm#4(t88tw!=^d;z)>31Fxkt{_Ma6n2cEEM=yNxrgc^`Z_|JnAq=!_tH zQe-YWs%-}BJ-kPAU8dT=_0b5MgX1`aN0x|;;L8UF+s|dN<=+x(U$wpxDq*|U)y^|b zFdsm5)m(cO#w4H2xBqcbee3fpJ!Vgo<(DT#)#cMKqO{!;#0Sv>b;SqM7tx%_BW)XB z*$KNHZs^|IL}!k4nXp+~bytNLanRGJ^~()!17l*SD>Wf@$8o$OoU#XFw%6 zoUt$NULw(l?V&_=e@hJ|^!xr!U?AH6`WQ#`b9x&74%zErLPy%!fX91F+kZa(i3Z=m z!_HSowS8dV**dSo^@PmX72nU`n+zK!fTHcgCuR}(!*gqed28x~dD~Qva~EspP`#gY zzKHk87s2G+K3wWje8AhWpSV&}FpMu{oa#QGo<}(>yP*8C0_`>Gn z*;@f0vo-{j0lzb|-7phvSoF8ujyiBq#yD{)yp8oV{~qobRm2#Zm-~h<>b{M7EXT%& zd}<7OOk)=0CaYjADh9@a6mwuGC0(N;mj?NOGgXW=r07BhoEr)lcB45lY_H!z^Qx*w zIR$H+qqmoMwyjpaIGxXN{noeg3FTx6<6qyiJg^Ju(0AeAPe8tLmhWX$y}->9+)Jnw zV-w;+;(DDZ;Au}7aT-PZOjm_DubFSp-6`z1P;U{w7kKBXHp3L6S7xAF;)z@2D~iXl zMs+`sv`ygrqRrMk{XD|z{`Mvew^}~R(}EXiS+d=RNw!@7hWz#RW!9Uq zd0OL-M6>(PKY>_s<#tG|-{hcrqsy}?qt*u8S=`@s$A}y&?!o!^VedJS=YDP86yblg z+b&~lXesochCIsW*e`6a!9_k9d0=@uAYwVjY0p383~e7?8R~lCt9L;M1& literal 0 HcmV?d00001 diff --git a/docs/images/afterCorruptDataFileResult.png b/docs/images/afterCorruptDataFileResult.png new file mode 100644 index 0000000000000000000000000000000000000000..652caff8744aab093d2b37519c165914fd0132d5 GIT binary patch literal 25020 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 kkSV%}f1d|=@6IZ>b76MqcZGDIP5=M^ literal 0 HcmV?d00001 diff --git a/docs/images/afterValidModificationToDataFile.png b/docs/images/afterValidModificationToDataFile.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa7d78793d16e35196b9d8552418b8c30cb8c2b GIT binary patch literal 27232 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 literal 0 HcmV?d00001 diff --git a/docs/images/afterValidModificationToDataFileResult.png b/docs/images/afterValidModificationToDataFileResult.png new file mode 100644 index 0000000000000000000000000000000000000000..ff33f529da9d0d5901be164932f2bbc2e6e8fa8c GIT binary patch literal 86897 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 HclW;mvOBEB literal 0 HcmV?d00001 diff --git a/docs/images/beforeCorruptDataFile.png b/docs/images/beforeCorruptDataFile.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bed31596c687db0756ea066333df3c6665562c GIT binary patch literal 27390 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 a;-6{~%DoRr@%p|mJ#S@aS$D?k_P+s*9nNn6 literal 0 HcmV?d00001 From 680b02a8bc8e6daae088ae9c19f6888714c2839d Mon Sep 17 00:00:00 2001 From: iynixil Date: Sat, 13 Apr 2024 22:53:36 +0800 Subject: [PATCH 22/44] Add EOF newline in DG --- docs/DeveloperGuide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1757295c70a..7af891b2cd4 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -694,4 +694,5 @@ testers are expected to do more *exploratory* testing. ![After Valid Modification To Data File](images/afterValidModificationToDataFile.png) Expected: The app should show `Alex Yeoh` with the module `CS2030S`: - ![After Valid Modification To Data File Result](images/afterValidModificationToDataFileResult.png) \ No newline at end of file + ![After Valid Modification To Data File Result](images/afterValidModificationToDataFileResult.png) + \ No newline at end of file From d3c0f8a31022f0c3f1da213be43d1db3c36648aa Mon Sep 17 00:00:00 2001 From: iynixil Date: Sat, 13 Apr 2024 22:59:04 +0800 Subject: [PATCH 23/44] Fix format errors in DG --- docs/DeveloperGuide.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 7af891b2cd4..29e217d57be 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -614,7 +614,6 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 7. The app should be usable by a student who is familiar with CLI interfaces. 8. The app should be up-to-date with the latest NUS faculty names. 9. The data stored in the app should not change unless the user has modified the data through usage of the app with user-issued commands, or the `data/staffconnect.json` file has been modified with valid values. -10. The app is not required to handle ### Glossary @@ -672,7 +671,7 @@ testers are expected to do more *exploratory* testing. 1. Dealing with missing/corrupted data files 1. Prerequisites: Ensure that the `data/staffconnect.json` file is generated by running the JAR file of the app at least once. - + 1. Test case: No modifications to data file after it has been generated.
In the image below shows the contents of the untouched data file: ![Before Corrupt Data File](images/beforeCorruptDataFile.png) @@ -689,10 +688,9 @@ testers are expected to do more *exploratory* testing. 1. Test case: Valid modification to data file.
Before, `Alex Yeoh` has the module `CS1101S` in the untouched data file as seen in `Test case: No modifications to data file after it has been generated`. - + Modify the `Module` attribute value to `CS2030S` (a valid value) in the data file: ![After Valid Modification To Data File](images/afterValidModificationToDataFile.png) Expected: The app should show `Alex Yeoh` with the module `CS2030S`: ![After Valid Modification To Data File Result](images/afterValidModificationToDataFileResult.png) - \ No newline at end of file From 5a8a5b0e7d3dcee55b908499dcbd4bad60f69002 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sat, 13 Apr 2024 23:25:32 +0800 Subject: [PATCH 24/44] amend proper english and capitalisation --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0cb2d3e00d0..5d96cb8ca9c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -461,7 +461,7 @@ StaffConnect data are saved automatically as a JSON file `[JAR file location]/da

From 2e461335dc8959fc13ebf0ab1c872e0d1ea9fddc Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 00:06:56 +0800 Subject: [PATCH 25/44] add person same for activity diagram --- docs/diagrams/SortActivityDiagram.puml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/diagrams/SortActivityDiagram.puml b/docs/diagrams/SortActivityDiagram.puml index b637a607150..5c2024ba06f 100644 --- a/docs/diagrams/SortActivityDiagram.puml +++ b/docs/diagrams/SortActivityDiagram.puml @@ -14,7 +14,8 @@ if() then ([attributes are sortable]) :compare with persons in sorted list; if () then ([person smaller]) :shift up; - else ([person bigger]) + else if () then ([person same]) + else ( [person bigger]) :shift down; endif repeat while () is ([have next person to sort]) not ([no more person to sort]) From cc6798c5b1869135c9abf5dae9908ea2aae0041c Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 03:02:46 +0800 Subject: [PATCH 26/44] update unexpected behaviour of exit button not generating the json file --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0b92c2b0538..a9a0246f9f3 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -484,7 +484,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa 2. **When adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. 3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. 4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. - +5. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. -------------------------------------------------------------------------------------------------------------------- ## Attribute summary From ce0fc9e68ce3d5a9493c6b66d2e1c6b1bf9bd66f Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 03:34:17 +0800 Subject: [PATCH 27/44] Replace contact with persons or staff book to reduce confusion and improve clarity edit wording of format for clarity --- docs/UserGuide.md | 70 +++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index a9a0246f9f3..3a4ae7a602a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -3,7 +3,7 @@ layout: page title: User Guide --- -StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tutors, 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, SC can get your contact management tasks done faster than traditional GUI apps. +StaffConnect (SC) is a **desktop app for managing Professors' and Tutors' contact information and associated meetings, 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, SC can get your contact management tasks done faster than traditional GUI apps. * Table of Contents {:toc} @@ -25,13 +25,13 @@ StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tut 5. Type the command in the command box and press Enter to execute it. e.g. typing **`help`** and pressing Enter will open the help window.
Some example commands you can try: - * `list` : Lists all contacts. + * `list` : Lists all persons. - * `add n/John Doe p/98765432 e/johnd@example.com m/CS2103 f/Computing v/John street, block 123, #01-01` : Adds a contact named `John Doe` to the contacts list. + * `add n/John Doe p/98765432 e/johnd@example.com m/CS2103 f/Computing v/John street, block 123, #01-01` : Adds a person named `John Doe` to the persons list. - * `delete 3` : Deletes the 3rd contact shown in the current list. + * `delete 3` : Deletes the 3rd person shown in the current list. - * `clear` : Deletes all contacts. + * `clear` : Deletes all persons. * `exit` : Exits the app. @@ -50,7 +50,7 @@ StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tut Before we get started StaffConnect offers a unique suite of UI controls for users to customise their own unique experience! -1. Clicking any items on the left contacts panel will allow you to select the person contact to display. +1. Clicking any items on the left contacts panel will allow you to select the person whose attributes and meeting list are to be display.
Alternatively, clicking anywhere in the contacts panel then using your arrow keys to navigate and hitting enter to select would give the same result.
**Intended Behaviour:**
Hovering the selection with mouse or arrow keys would not cause the details panel to switch to the selected person. This is to allow users to browse the contacts panel without switching. @@ -129,13 +129,13 @@ Format: `help` ### Adding a person: `add` -Adds a person to the contacts. +Adds a person to the staff book. Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]…​ [a/AVAILABILITY]…​` -* `NAME` is case-sensitive and has to be unique among contacts. -* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. -* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +* `NAME` is case-sensitive and has to be unique among persons in staff book. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. +* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -150,13 +150,13 @@ Examples: ### Listing all persons : `list` -Shows a list of all persons in the contacts. +Shows a list of all persons in the staff book. Format: `list` ### Editing a person : `edit` -Edits an existing person in the contacts. +Edits an existing person in the staff book.
@@ -176,9 +176,9 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s tags by typing `t/` without specifying any tags after it. * When editing availabilities, the existing availabilities of the person will be removed i.e adding of availabilities is not cumulative. * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. -* `NAME` is case-sensitive and has to be unique among contacts. -* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among contacts. -* `TAG` and `AVAILABILITY` has to be unique within a single contact but can be duplicated among contacts. +* `NAME` is case-sensitive and has to be unique among persons in staff book. +* `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -244,9 +244,9 @@ Format: `sort [n/] [p/] [m/] [f/] [v/] [s/] [meet/]` * The order of character priority would be letters (A-Z), numbers (0-9), special characters (!@#$%^&*). * The capitalisation of the letters do not affect their priority such that `Aaron` will have same priority as `aaron`. * For attribute with exact same values, the tie-breaker is determined by their added order. -* For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort by contact by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. -* `s/` sorts contacts by person with the earliest meeting -* `meet/` sorts contacts by person with the earliest meeting, followed by alphanumeric order of meeting description +* For sorting of multiple attributes, the weightage will be determined by the order in which it was entered. E.g `sort m/ p/ v/` will sort persons by their module, among those with equal modules would then be sorted by their phone number and similarly for venue. +* `s/` sorts the list by person with the earliest meeting +* `meet/` sorts the list by person with the earliest meeting, followed by alphanumeric order of meeting description Examples: * `sort m/ p/` returns person by ascending module codes followed by ascending phone numbers `CS2000 80000000`, `CS2000 90000000`, `CS3000 80000000`followed by `CS3000 90000000` @@ -287,7 +287,7 @@ Format: `meeting-add INDEX d/DESCRIPTION s/DATETIME` 2. `H:mm` 3. `HHmm` * Duplicate meetings with the same `DESCRIPTION` and `DATETIME` in the same person is not allowed. -* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among contacts. +* Meetings with the same `DESCRIPTION` and `DATETIME` does not need to be unique among persons in staff book. Examples: * `meeting-add 1 d/Meet for finals preparation s/12/04/2024 18:00` adds a meeting to the first person with the description of `Meet for finals preparation` and the date and time of `12/04/2024 18:00` @@ -311,16 +311,16 @@ Format: `meeting-delete INDEX i/MEETING-INDEX ` * The index refers to the index number shown in the displayed person list. * The index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed person list. * The meeting-index refers to the index number shown in the displayed meeting list. -* The index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed meeting list. +* The meeting-index **must be a positive integer** 1, 2, 3,…​ and tally within range index of the displayed meeting list. * The meeting from the person must exist before it can be deleted otherwise an error will be displayed. Examples: * The following commands assumes that meetings have been added prior to the command. Otherwise, an error will be thrown.
**(Refer to the section above on how to add a meeting)** - * `list` followed by `meeting-delete 1 i/1` deletes the 1st meeting from the 1st person in the contacts. + * `list` followed by `meeting-delete 1 i/1` deletes the 1st meeting from the 1st person in the list. * `find Bernice Yu` followed by `meeting-delete 1 i/2` deletes the 1st meeting form the 1st person in the results of the `find` command.
**Results for delete meeting:**
The following command was applied: `find Bernice Yu` followed by `meeting-delete 1 i/2`. -
__(Disclaimer: The content shown in the examples may not match what you have added to your own meetings within the contact book).__ +
__(Disclaimer: The content shown in the examples may not match what you have added to your own meetings within the staff book).__

**After `find Bernice Yu`:**
![result for before `find Bernice Yu` followed by `meeting-delete 1 i/2`](images/meetingDeleteResultBefore.png)

**After `meeting-delete 1 i/2`:**
@@ -334,7 +334,7 @@ The following command was applied: `find Bernice Yu` followed by `meeting-delet There will be no further prompt after entering the command to delete a person in the staff book. This action is irreversible and the person to be deleted cannot be retrieved afterwards.
-Deletes the specified person from the contacts. +Deletes the specified person from the staff book. Format: `delete INDEX` @@ -343,8 +343,8 @@ Format: `delete INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `delete 2` deletes the 2nd person in the contacts. -* `sort p/` followed by `delete 1` deletes the 1st person in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `delete 2` deletes the 2nd person in the list. +* `sort p/` followed by `delete 1` deletes the 1st person in the list in the results of the `sort` command, which should be the person with the smallest phone number. * `find Bernice Yu` followed by `delete 1` deletes the 1st person in the results of the `find` command.
**Before deletion:**
![All persons listed](images/BeforeDeleteCommand1.png) @@ -357,7 +357,7 @@ Examples: ### Setting a person as favourite: `fav` -Sets the specified person from the contacts as favourite. +Sets the specified person from the list as favourite.
:information_source: **Note:** The displayed view in StaffConnect will reset to the default view after the `fav` command is called. @@ -370,15 +370,15 @@ Format: `fav INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `fav 2` sets the 2nd person as favourite in the contacts. -* `sort p/` followed by `fav 1` sets the 1st person as favourite in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `fav 2` sets the 2nd person as favourite in the staff book. +* `sort p/` followed by `fav 1` sets the 1st person as favourite in the staff book in the results of the `sort` command, which should be the person with the smallest phone number. * `find Betsy` followed by `fav 1` sets the 1st person as favourite in the results of the `find` command. ![Result of fav command](images/AfterFavCommand.png) ### Removes a person as favourite: `unfav` -Removes the specified person from the contacts as favourite. +Removes the specified person from the staff book as favourite.
:information_source: **Note:** The displayed view in StaffConnect will reset to the default view after the `unfav` command is called. @@ -391,8 +391,8 @@ Format: `unfav INDEX` * The index **must be a positive integer** 1, 2, 3, …​ Examples: -* `list` followed by `unfav 2` removes the 2nd person as favourite in the contacts. -* `sort p/` followed by `fav 1` removes the 1st person as favourite in the contacts in the results of the `sort` command, which should be the person with the smallest phone number. +* `list` followed by `unfav 2` removes the 2nd person as favourite in the staff book. +* `sort p/` followed by `fav 1` removes the 1st person as favourite in the staff book in the results of the `sort` command, which should be the person with the smallest phone number. * `find Betsy` followed by `unfav 1` removes the 1st person as favourite in the results of the `find` command. ### Refresh and clear all outdated meetings: `refresh` @@ -423,13 +423,13 @@ Examples: Refresh is only used when the user decides to remove clutter in the staff book, and wants to remove outdated meetings. This process is not done automatically as sometimes the user would like to retain old meetings for bookkeeping purposes. -### Selecting the detailed contact to display: `select` +### Selecting the person to display: `select` -Selects the person identified by the index number used in the displayed person list for display. +Selects the person identified by their current displayed index number to display their attributes and meeting list. Format: `select INDEX` -* Select the person and loads its contact with meeting details for display at the specified **INDEX** +* Select the person and loads its staff book with meeting details for display at the specified **INDEX** * The index refers to the index number shown in the displayed person list. * The index **must be a positive integer** 1, 2, 3, …​ @@ -483,7 +483,7 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa 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 adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. 3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. -4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a contact with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. +4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a person with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. 5. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. -------------------------------------------------------------------------------------------------------------------- From 27fb6980048d45f06ba67dc1a80a788b34d6b965 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 03:57:49 +0800 Subject: [PATCH 28/44] remove stray sentences --- docs/DeveloperGuide.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8d272ddc481..7f82efa041b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -309,7 +309,6 @@ This is to keep in view for when other commands or enhancements may need the sep Need for `MultiComparator` object: This is to map the 1 or more comparator objects and act as a layer of abstraction where `SortCommmand` does need to know how many attributes are used in sorting. -This also w `SortCommmandParser` parsing the `Comparator` objects: This is to prevent `SortCommand` from taking on more responsibilities (Separation of Concerns). From 5aff9bab74bd8eefb54a0986c93e9c7486a23f08 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:00:47 +0800 Subject: [PATCH 29/44] change has to have for multiple --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3a4ae7a602a..c768a159abd 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -135,7 +135,7 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]… * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. -* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -178,7 +178,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. -* `TAG` and `AVAILABILITY` has to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. From 38c03df8adbbb0cf7e5ee80dd0d36b66db79caf7 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:07:59 +0800 Subject: [PATCH 30/44] specify for clarity --- docs/UserGuide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c768a159abd..2e6bd14f973 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -135,7 +135,7 @@ Format: `add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE f/FACULTY v/VENUE [t/TAG]… * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons to staff book. -* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique for a person but can be duplicated among persons in staff book.
:bulb: **Tip:** A person can have any number of tags and availabilities (including 0) @@ -178,7 +178,7 @@ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE * You can remove all the person’s availabilities by typing `a/` without specifying any availabilities after it. * `NAME` is case-sensitive and has to be unique among persons in staff book. * `PHONE_NUMBER`, `EMAIL`, `MODULE`, `FACULTY`, `VENUE` do not need to be unique and can be duplicated among persons in staff book. -* `TAG` and `AVAILABILITY` have to be unique within a single person but can be duplicated among persons in staff book. +* `TAG` and `AVAILABILITY` have to be unique for a person but can be duplicated among persons in staff book. Examples: * `edit 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. @@ -429,8 +429,8 @@ Selects the person identified by their current displayed index number to display Format: `select INDEX` -* Select the person and loads its staff book with meeting details for display at the specified **INDEX** -* The index refers to the index number shown in the displayed person list. +* Select the person at the specified **INDEX** to display its attribute and meeting list. +* The index refers to the index number shown in the current displayed person list. * The index **must be a positive integer** 1, 2, 3, …​ Examples: From 41f86a2edd872b4197ca6c287d5c820729b7043d Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:20:25 +0800 Subject: [PATCH 31/44] move word cause wrong --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 7f82efa041b..20a879ac086 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -316,7 +316,7 @@ This is to prevent `SortCommand` from taking on more responsibilities (Separatio #### What designs were considered: **Aspect: Determining order of sorting of an attribute:** -* **Current Design:** Get order of attributes sorting from user input. +* **Current Design:** Get order of sorting attribute from user input. * Pros: More functionality and more suited to the user's needs. * Cons: Harder to implement and guide user to use, may have more leeway for error. From 45f3d5202e2d46aa064c8a7c61042103d17a47c9 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:22:21 +0800 Subject: [PATCH 32/44] add missing plurality --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 2e6bd14f973..77eea33b72a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -429,7 +429,7 @@ Selects the person identified by their current displayed index number to display Format: `select INDEX` -* Select the person at the specified **INDEX** to display its attribute and meeting list. +* Select the person at the specified **INDEX** to display its attributes and meeting list. * The index refers to the index number shown in the current displayed person list. * The index **must be a positive integer** 1, 2, 3, …​ From 168bf48de055e16124f4badfec77f2f8f0577007 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:31:23 +0800 Subject: [PATCH 33/44] update diagram --- docs/images/SortActivityDiagram.png | Bin 41586 -> 44112 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/SortActivityDiagram.png b/docs/images/SortActivityDiagram.png index 7e1b1d375c0b1e4af6ccc2c4767fcd3e41da5785..151913480d6e2eced54bad0ca8fc0e53ce1f63ab 100644 GIT binary patch literal 44112 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 From c26c4848f52f6d64e708fb3cf6230df7d09010cf Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:33:34 +0800 Subject: [PATCH 34/44] update englishing --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 20a879ac086..4941f7d44f3 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -314,9 +314,9 @@ This is to map the 1 or more comparator objects and act as a layer of abstractio This is to prevent `SortCommand` from taking on more responsibilities (Separation of Concerns). #### What designs were considered: -**Aspect: Determining order of sorting of an attribute:** +**Aspect: Determining order of sorting of attribute(s):** -* **Current Design:** Get order of sorting attribute from user input. +* **Current Design:** Get sorting order of attribute(s) from user input. * Pros: More functionality and more suited to the user's needs. * Cons: Harder to implement and guide user to use, may have more leeway for error. From decf2c047b2aea246993405c3a1fb4cca457b446 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Sun, 14 Apr 2024 04:43:58 +0800 Subject: [PATCH 35/44] remove redundant THE --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5d96cb8ca9c..2b76d52658e 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -460,7 +460,7 @@ StaffConnect data are saved automatically as a JSON file `[JAR file location]/da

:exclamation: **Caution:** If your changes to the data file makes its format invalid, StaffConnect will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
-Furthermore, certain edits can cause the StaffConnect to behave in unexpected ways (e.g., if a value entered is outside of the acceptable range). +Furthermore, certain edits can cause StaffConnect to behave in unexpected ways (e.g., if a value entered is outside of the acceptable range). The application will not prompt the user if the format of the data file is incorrect, but instead provide the user with an empty staff book. Therefore, edit the data file only if you are confident that you can update it correctly. From 372bf046480180c51bb71a334ead51eb605c7b10 Mon Sep 17 00:00:00 2001 From: iynixil Date: Sun, 14 Apr 2024 05:04:01 +0800 Subject: [PATCH 36/44] Fix minor consistency issues and add more specifications --- docs/DeveloperGuide.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 29e217d57be..67086818c23 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -475,8 +475,7 @@ Similarly, how the `unfav` command works is shown below: **Target user profile**: Bob is a 22 year old NUS SOC student who often struggles with finding details about his professors' and tutors' consultation hours. -He has difficulty identifying his professors and changing tutors, and prefers certain professors and tutors but often misplaces their contact information -as such information can be hard to find online. +He has difficulty identifying his professors and changing tutors, and prefers certain professors and tutors but often misplaces their contact information as such information can be hard to find online. He also sometimes forgets that he has scheduled consultations with a professor or tutor, but this is not a big problem as he can always arrange for another consultation. **Value proposition**: @@ -490,11 +489,11 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | -| `* * *` | sociable user | save a professor's/tutor's name, email, phone number, title in one line | save time per entry | +| `* * *` | sociable user | save a professor's/tutor's name, email, phone number, tag(s) in one line | save time per entry | | `* * *` | disorganised student | store a professor's/tutor's name | recall how to address the professor/tutor | | `* * *` | forgetful user | store a professor's/tutor's faculty | see the faculty that a professor/tutor belongs to | -| `* * *` | student who get lost easily | view the locations of my meetings/classes | search the locations for my meetings easily | -| `* * *` | disorganised student | store a professor's/tutor's consultation hours | arrange times to meet my professor for consultation | +| `* * *` | student who get lost easily | view the consultation venues of my professors/TAs | search for their consultation venues easily | +| `* * *` | disorganised student | store a professor's/tutor's consultation hours | schedule meetings to meet my professor/tutor for consultation | | `* * *` | slow reader | filter through staff book entries by their name | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their availability | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their module | not waste time in finding a specific professor/tutor and access their information easily | @@ -610,15 +609,16 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 3. The app should not exceed using 1GB of RAM while it is operating. 4. The app should work on both 32-bit and 64-bit environments. 5. The app should be able to store up to 1000 persons without affecting the response time of 2 seconds. -6. The app should only be able to read and write in the generated `data/staffconnect.json` file. -7. The app should be usable by a student who is familiar with CLI interfaces. -8. The app should be up-to-date with the latest NUS faculty names. -9. The data stored in the app should not change unless the user has modified the data through usage of the app with user-issued commands, or the `data/staffconnect.json` file has been modified with valid values. +6. The app should be able to store up to a total of 1000 meetings across all persons without affecting the response time of 2 seconds. +7. The app should only be able to read and write in the generated `[JAR file location]/data/staffconnect.json` file. +8. The app should be usable by a student who is familiar with CLI interfaces. +9. The app should be up-to-date with the latest NUS faculty names. +10. The data stored in the app should not change unless the user has modified the data through usage of the app with user-issued commands, or the `[JAR file location]/data/staffconnect.json` file has been modified with valid values. ### Glossary * **Mainstream OS**: Windows, Linux, Unix, MacOS, with versions that support Java 11 -* **Person**: A professor/teaching assistant (TA) +* **Person**: A professor or tutor (i.e. Teaching Assistant) * **Attribute**: A useful piece of information belonging to a `Person`. e.g `Venue` is the consultation venue to consult a `Person` * **Staff Book**: Name for the list containing `Person` objects * **Contacts' Information**: All `Persons` in the staff book From 81b1ea8c8cf7d3e0d95eb06bedc0790cc535a2cf Mon Sep 17 00:00:00 2001 From: iynixil Date: Sun, 14 Apr 2024 05:37:03 +0800 Subject: [PATCH 37/44] Add more user stories --- docs/DeveloperGuide.md | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 67086818c23..9e5b4c9dfd1 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -489,19 +489,31 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | -| `* * *` | sociable user | save a professor's/tutor's name, email, phone number, tag(s) in one line | save time per entry | +| `* * *` | sociable user | save a professor's/tutor's name, phone number, faculty, consultation venue, module, email, tag(s) and availabilities in one line | save time when adding each professor/tutor | +| `* * *` | clumsy user | edit a professor's/tutor's name, phone number, faculty, consultation venue, module, email, tag(s) and availabilities in one line | save time when editing multiple attributes of a professor/tutor | | `* * *` | disorganised student | store a professor's/tutor's name | recall how to address the professor/tutor | +| `* * *` | disorganised student | store the module a professor/tutor is teaching | contact the professor/tutor who teach a module which I am currently taking | | `* * *` | forgetful user | store a professor's/tutor's faculty | see the faculty that a professor/tutor belongs to | -| `* * *` | student who get lost easily | view the consultation venues of my professors/TAs | search for their consultation venues easily | -| `* * *` | disorganised student | store a professor's/tutor's consultation hours | schedule meetings to meet my professor/tutor for consultation | +| `* * *` | student who get lost easily | view the consultation venues of my professors/tutors | search for their consultation venues easily | +| `* * *` | disorganised student | store a professor's/tutor's availabilities | schedule meetings to meet my professor/tutor for consultation | +| `* * *` | organized user | delete a staff book entry | remove outdated or redundant entries of professors/tutors that I will not contact anymore | | `* * *` | slow reader | filter through staff book entries by their name | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their availability | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their module | not waste time in finding a specific professor/tutor and access their information easily | -| `* * *` | disorganised student | store the modules a professor is teaching | contact the professors who teach a module which I am currently taking | | `* * *` | slow reader | filter through staff book entries by their faculty | not waste time in finding a specific professor/tutor and access their information easily | -| `* * *` | forgetful user | filter the professors by their faculty | not waste time in finding a specific professor/tutor and access their information easily | -| `* *` | time-conscious user | save a specific professor as "favourite" | have quick access to the professors/tutors I frequent the most | -| `* *` | easily-distracted user | record my scheduled meetings and consultation times with professors/tutors | see which professor/tutor I have set up to meet with | +| `* * *` | slow reader | filter through staff book entries by their tag | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | sort staff book entries by name | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | sort staff book entries by phone number | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | sort staff book entries module | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | sort staff book entries faculty | not waste time in finding a specific professor/tutor and access their information easily | +| `* * *` | slow reader | sort staff book entries' consultation venues | not waste time in finding a specific professor/tutor and access their information easily | +| `* *` | slow reader | sort staff book entries' meeting times | not waste time in finding a specific meeting and access their information easily | +| `* *` | time-conscious user | save a specific professor as "favourite" | have quick access to the professors/tutors I frequent the most for consultations | +| `* *` | time-conscious user | remove a specific professor as "favourite" | remove outdated professors/tutors that I do not frequent for consultations anymore | +| `* *` | easily-distracted user | record my scheduled meeting agenda and start time with professors/tutors | see which professor/tutor I have set up to meet with | +| `* *` | organized user | delete my scheduled meeting agenda and start time with professors/tutors | remove outdated or redundant entries of meetings that have passed or cancelled | +| `* *` | time-conscious user | clear my outdated meetings with professors/tutors | save time by removing outdated meetings with one command | +| `* *` | proficient typer | select a professor/tutor to see their contact details with a command | use the app with my more proficient method of typing instead of using other input devices (i.e. mouse) | ### Use cases From 97c4fc29b0a09dfdf01e3d2991e310cd2989e9ff Mon Sep 17 00:00:00 2001 From: iynixil Date: Sun, 14 Apr 2024 05:42:55 +0800 Subject: [PATCH 38/44] Fix 'organise' word consistency --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 15c0d8f0dcf..6b73daafff0 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -503,7 +503,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | `* * *` | forgetful user | store a professor's/tutor's faculty | see the faculty that a professor/tutor belongs to | | `* * *` | student who get lost easily | view the consultation venues of my professors/tutors | search for their consultation venues easily | | `* * *` | disorganised student | store a professor's/tutor's availabilities | schedule meetings to meet my professor/tutor for consultation | -| `* * *` | organized user | delete a staff book entry | remove outdated or redundant entries of professors/tutors that I will not contact anymore | +| `* * *` | organised user | delete a staff book entry | remove outdated or redundant entries of professors/tutors that I will not contact anymore | | `* * *` | slow reader | filter through staff book entries by their name | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their availability | not waste time in finding a specific professor/tutor and access their information easily | | `* * *` | slow reader | filter through staff book entries by their module | not waste time in finding a specific professor/tutor and access their information easily | @@ -518,7 +518,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | `* *` | time-conscious user | save a specific professor as "favourite" | have quick access to the professors/tutors I frequent the most for consultations | | `* *` | time-conscious user | remove a specific professor as "favourite" | remove outdated professors/tutors that I do not frequent for consultations anymore | | `* *` | easily-distracted user | record my scheduled meeting agenda and start time with professors/tutors | see which professor/tutor I have set up to meet with | -| `* *` | organized user | delete my scheduled meeting agenda and start time with professors/tutors | remove outdated or redundant entries of meetings that have passed or cancelled | +| `* *` | organised user | delete my scheduled meeting agenda and start time with professors/tutors | remove outdated or redundant entries of meetings that have passed or cancelled | | `* *` | time-conscious user | clear my outdated meetings with professors/tutors | save time by removing outdated meetings with one command | | `* *` | proficient typer | select a professor/tutor to see their contact details with a command | use the app with my more proficient method of typing instead of using other input devices (i.e. mouse) | From 7231c1c9c691498ed4f653c143a0beb57f698203 Mon Sep 17 00:00:00 2001 From: JerryWang0000 Date: Sun, 14 Apr 2024 06:33:23 +0800 Subject: [PATCH 39/44] Update the faculty names to the latest --- docs/UserGuide.md | 25 +++++++++---------- .../staffconnect/model/person/Faculty.java | 3 +-- .../PersonHasFacultyPredicateTest.java | 2 +- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bc2f9f33815..0a22dc7caae 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -492,18 +492,18 @@ Therefore, edit the data file only if you are confident that you can update it c ## Attribute summary -Attribute | Prefix | Restrictions | Examples -----------|--------|--------------|--------------------- -Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` -Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` +Attribute | Prefix | Restrictions | Examples +----------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------- +Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` +Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email[^1] | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` -Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` -Faculty[^1] | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below). | `soc`, `biz`, `School of Business` -Venue[^1] | v/ | Any characters allowed, cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` -Tag | t/ | Case-sensitive.
Only alphanumeric characters allowed.
Person can have any number of tags. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
Person can have any number of availabilities.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours (00-23) and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` -Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` -Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` +Faculty[^1] | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below).
A valid faculty name and its variations(other names) all refer to the same faculty. | `soc`, `biz`, `School of Business` +Venue[^1] | v/ | Any characters allowed.
Cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` +Tag | t/ | Case-sensitive.
Only alphanumeric characters allowed.
Person can have any number of tags. | `tutor`, `professor`, `BestProf`, `Number1TA` +Availability | a/ | Valid format of `day start-time end-time`.
Person can have any number of availabilities.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours (00-23) and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` [^1]: Mandatory when adding a person into the staff book, as these are important information for students to know when/where to consult their professors/TAs. @@ -516,9 +516,8 @@ Business School | Business, Biz School, Biz School of Computing | Computing, SoC School of Continuing and Lifelong Education | Continuing and Lifelong Education, SCALE Faculty of Dentistry | Dentistry -School of Design and Environment | Design and Environment, SDE +College of Design and Engineering | Design and Engineering, CDE Duke-NUS Medical School | Duke-NUS -Faculty of Engineering, Engineering | FoE Integrative Sciences and Engineering | ISEP Faculty of Law | Law Yong Loo Lin School of Medicine | Medicine diff --git a/src/main/java/staffconnect/model/person/Faculty.java b/src/main/java/staffconnect/model/person/Faculty.java index 2b1d2127bee..65084e73ab5 100644 --- a/src/main/java/staffconnect/model/person/Faculty.java +++ b/src/main/java/staffconnect/model/person/Faculty.java @@ -26,9 +26,8 @@ public enum FacultyName { CONTINUING_AND_LIFELONG_EDUCATION("School of Continuing and Lifelong Education", "Continuing and Lifelong Education", "SCALE"), DENTISTRY("Faculty of Dentistry", "Dentistry"), - DESIGN_AND_ENVIRONMENT("School of Design and Environment", "Design and Environment", "SDE"), + DESIGN_AND_ENGINEERING("College of Design and Environment", "Design and Engineering", "CDE"), DUKE_NUS_MEDICAL_SCHOOL("Duke-NUS Medical School", "Duke-NUS"), - ENGINEERING("Faculty of Engineering", "Engineering", "FoE"), INTEGRATIVE_SCIENCES_AND_ENGINEERING("Integrative Sciences and Engineering", "ISEP"), LAW("Faculty of Law", "Law"), MEDICINE("Yong Loo Lin School of Medicine", "Medicine", "School of Medicine"), diff --git a/src/test/java/staffconnect/model/person/predicates/PersonHasFacultyPredicateTest.java b/src/test/java/staffconnect/model/person/predicates/PersonHasFacultyPredicateTest.java index 3db3009ced2..58b17d1c507 100644 --- a/src/test/java/staffconnect/model/person/predicates/PersonHasFacultyPredicateTest.java +++ b/src/test/java/staffconnect/model/person/predicates/PersonHasFacultyPredicateTest.java @@ -58,7 +58,7 @@ public void test_personDoesNotHaveFaculty_returnsFalse() { @Test public void toStringMethod() { - Faculty faculty = new Faculty("Engineering"); + Faculty faculty = new Faculty("CDE"); PersonHasFacultyPredicate predicate = new PersonHasFacultyPredicate(faculty); String expected = PersonHasFacultyPredicate.class.getCanonicalName() + "{faculty=" + faculty + "}"; From 8437bdce58aaaabf611b715d17f13b29899dc1d3 Mon Sep 17 00:00:00 2001 From: JerryWang0000 Date: Sun, 14 Apr 2024 06:34:22 +0800 Subject: [PATCH 40/44] Fix a typo --- src/main/java/staffconnect/model/person/Faculty.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/staffconnect/model/person/Faculty.java b/src/main/java/staffconnect/model/person/Faculty.java index 65084e73ab5..0c92562f3d5 100644 --- a/src/main/java/staffconnect/model/person/Faculty.java +++ b/src/main/java/staffconnect/model/person/Faculty.java @@ -26,7 +26,7 @@ public enum FacultyName { CONTINUING_AND_LIFELONG_EDUCATION("School of Continuing and Lifelong Education", "Continuing and Lifelong Education", "SCALE"), DENTISTRY("Faculty of Dentistry", "Dentistry"), - DESIGN_AND_ENGINEERING("College of Design and Environment", "Design and Engineering", "CDE"), + DESIGN_AND_ENGINEERING("College of Design and Engineering", "Design and Engineering", "CDE"), DUKE_NUS_MEDICAL_SCHOOL("Duke-NUS Medical School", "Duke-NUS"), INTEGRATIVE_SCIENCES_AND_ENGINEERING("Integrative Sciences and Engineering", "ISEP"), LAW("Faculty of Law", "Law"), From 68d68d2f952eed20963396fe94498cb22ccfeca7 Mon Sep 17 00:00:00 2001 From: JerryWang0000 Date: Sun, 14 Apr 2024 06:44:45 +0800 Subject: [PATCH 41/44] Fix the formating --- docs/UserGuide.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0a22dc7caae..bce538b8cca 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -492,19 +492,18 @@ Therefore, edit the data file only if you are confident that you can update it c ## Attribute summary -Attribute | Prefix | Restrictions | Examples -----------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------- -Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` -Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` +Attribute | Prefix | Restrictions | Examples +----------|--------|--------------|--------------------- +Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` +Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email[^1] | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` -Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` -Faculty[^1] | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below).
A valid faculty name and its variations(other names) all refer to the same faculty. | `soc`, `biz`, `School of Business` -Venue[^1] | v/ | Any characters allowed.
Cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` -Tag | t/ | Case-sensitive.
Only alphanumeric characters allowed.
Person can have any number of tags. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
Person can have any number of availabilities.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours (00-23) and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` -Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` -Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` - +Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` +Faculty[^1] | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below).
A valid faculty name and its variations(other names) all refer to the same faculty. | `soc`, `biz`, `School of Business` +Venue[^1] | v/ | Any characters allowed.
Cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` +Tag | t/ | Case-sensitive.
Only alphanumeric characters allowed.
Person can have any number of tags. | `tutor`, `professor`, `BestProf`, `Number1TA` +Availability | a/ | Valid format of `day start-time end-time`.
Person can have any number of availabilities.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours (00-23) and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` [^1]: Mandatory when adding a person into the staff book, as these are important information for students to know when/where to consult their professors/TAs. ### Valid `Faculty` values From 2414d6a59e0de9d8580032d657a651f3cb7f74c7 Mon Sep 17 00:00:00 2001 From: JerryWang0000 Date: Sun, 14 Apr 2024 07:01:47 +0800 Subject: [PATCH 42/44] Add illustration to valid names --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bc2f9f33815..9dc6cb49e63 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -494,7 +494,7 @@ Therefore, edit the data file only if you are confident that you can update it c Attribute | Prefix | Restrictions | Examples ----------|--------|--------------|--------------------- -Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` +Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters.
Values including non-alphanumeric characters are considered invalid. If a person's name includes special character (characters not included in modern English) like arabic characters (such as أ, ب, ت, etc.), it should be latinized first. | `alex yeoh`, `Bernice Yu`, `test1` Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email[^1] | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` From b6ebc23dba59834c155b32bd92400d71b36bc1d7 Mon Sep 17 00:00:00 2001 From: JerryWang0000 Date: Sun, 14 Apr 2024 07:16:00 +0800 Subject: [PATCH 43/44] Illustrate the uniqueness of persons' names --- docs/UserGuide.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 9dc6cb49e63..b36a39bbc7e 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -485,16 +485,17 @@ Therefore, edit the data file only if you are confident that you can update it c 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 adding/editing phone number with a descriptor**, If you try to add a number with a descriptor such as `98731094 (home)`, the application rejects this input and advise the user to only provide phone numbers with numerical values only. The phone number is not intended to store phone number descriptor but users can consider using tags such as t/homePhone as a workaround. -3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. -4. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a person with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. -5. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. +3. **When adding/editing name containing special characters**, If you try to add a name such as `Jason s/o William`, the application rejects this input and advise the user to only provide name with alphanumeric values only. The name is not intended to store special characters but users can consider using `so` or `son of` as a workaround. If a person's name includes special characters (characters not included in modern English) like arabic characters (such as أ, ب, ت, etc.), it should be latinized first. +4. **When adding/editing name that already exists in the staff book**, if you try to do so, an error message will be prompted, as two persons are considered the same person as long as they have the same name. It is inplausible to has two persons with the same name but other different attributes. +5. **When adding/editing venues containing space with an attribute prefix**, If you try to add a venue such as `Room 12 t/r`, the application will add a person with a venue `Room 12` and a tag `r` instead of the intended venue `Room 12 t/r`. The venue is not intended to store venues that contains a space followed by an attribute prefix but users can consider omitting the space or replace with a hyphen such as `Room 12t/r` or `Room 12-t/r` as a workaround. +6. **When generating the default file and exiting via the `Exit` button**, If you try to generate the default JSON file `[JAR file location]/data/staffconnect.json` by running the JAR file, without manipulating any data and exiting via the `Exit` button, the JSON file would not be generated. You may consider using the `exit` command via the command line interface to generate the default JSON file instead. -------------------------------------------------------------------------------------------------------------------- ## Attribute summary Attribute | Prefix | Restrictions | Examples ----------|--------|--------------|--------------------- -Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters.
Values including non-alphanumeric characters are considered invalid. If a person's name includes special character (characters not included in modern English) like arabic characters (such as أ, ب, ت, etc.), it should be latinized first. | `alex yeoh`, `Bernice Yu`, `test1` +Name[^1] | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` Phone Number[^1] | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email[^1] | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` Module[^1] | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 2 characters long. | `gess1025`, `hsi1000`, `cs2103t` From ad31e2e5fa2e5dece0af990b842389573ecc4867 Mon Sep 17 00:00:00 2001 From: iynixil Date: Sun, 14 Apr 2024 07:42:28 +0800 Subject: [PATCH 44/44] Edit to make data file location consistent --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 6b73daafff0..ea352d0597b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -689,7 +689,7 @@ testers are expected to do more *exploratory* testing. 1. Dealing with missing/corrupted data files - 1. Prerequisites: Ensure that the `data/staffconnect.json` file is generated by running the JAR file of the app at least once. + 1. Prerequisites: Ensure that the `[JAR file location]/data/staffconnect.json` file is generated by running the JAR file of the app at least once. 1. Test case: No modifications to data file after it has been generated.
In the image below shows the contents of the untouched data file: