From 311d099112fbd98f8fbf711d932b81fddecd9681 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 21:31:06 +0800
Subject: [PATCH 01/18] Delete PPP
---
docs/AboutUs.md | 1 -
docs/team/abdulrahmanalrammah.md | 46 --------------------------------
2 files changed, 47 deletions(-)
delete mode 100644 docs/team/abdulrahmanalrammah.md
diff --git a/docs/AboutUs.md b/docs/AboutUs.md
index 1dba2ae99d9..ef85df7a4d7 100644
--- a/docs/AboutUs.md
+++ b/docs/AboutUs.md
@@ -24,7 +24,6 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
[[github](http://github.com/abdulrahmanalrammah)]
-[[portfolio](team/abdulrahmanalrammah.md)]
* Role: Developer
* Responsibilities: Documentation
diff --git a/docs/team/abdulrahmanalrammah.md b/docs/team/abdulrahmanalrammah.md
deleted file mode 100644
index 86aa7ebfc34..00000000000
--- a/docs/team/abdulrahmanalrammah.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
- layout: default.md
- title: "John Doe's Project Portfolio Page"
----
-
-### Project: AddressBook Level 3
-
-AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
-
-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 history command that allows the user to navigate to previous commands using up/down keys.
-
-* **Code contributed**: [RepoSense link]()
-
-* **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]()
- * Developer Guide:
- * Added implementation details of the `delete` feature.
-
-* **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
-
-* _{you can add/remove categories in the list above}_
From 239d848e2a745a58994df203e14cc8ac89f537ff Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 21:36:51 +0800
Subject: [PATCH 02/18] Clarify seed command message in UG
---
docs/UserGuide.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index c83f1a6e901..ccc199b78ef 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -242,7 +242,8 @@ Format: `seed`
- `seed` will add them to the contact list if they are not presently inside.
- `seed` does not clear or reset the list.
-- If your exisitng contact list has a person with the same name and phone number, it will **not** be overwritten.
+- If your existing contact list has a person with the same name and phone number, it will **not** be overwritten.
+- Disclaimer: Seed command does not inform you if a duplicate person was skipped, it will only state that it has "seeded sample data" regardless of outcome.
### Exiting the program : `exit`
From d27c514014047be55e06c216c06cbe89da65d649 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 21:41:37 +0800
Subject: [PATCH 03/18] Improve disclaimer look
---
docs/UserGuide.md | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index ccc199b78ef..18007617d43 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -242,8 +242,13 @@ Format: `seed`
- `seed` will add them to the contact list if they are not presently inside.
- `seed` does not clear or reset the list.
-- If your existing contact list has a person with the same name and phone number, it will **not** be overwritten.
-- Disclaimer: Seed command does not inform you if a duplicate person was skipped, it will only state that it has "seeded sample data" regardless of outcome.
+- If your existing contact list has a person with the same name and phone number, it will **not** be overwritten.
+
+
+
+**Note:** Seed command does not inform you if a duplicate person was skipped, it will only state that it has "seeded sample data" regardless of outcome.
+
+
### Exiting the program : `exit`
From e8efa4c34fa75cec9f43958829457aeb9a838ce5 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 21:56:16 +0800
Subject: [PATCH 04/18] Clarify sort order in UG
---
docs/UserGuide.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 18007617d43..bb8304f40da 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -195,6 +195,8 @@ Format: `sort PARAMETER_PREFIX/ORDER`
* By default, if `ORDER` is omitted, contacts will be sorted in ascending order based on the `PARAMETER`.
* An ascending order can be specified by replacing `ORDER` with `ascending` or its short form `asc`.
* A descending order can be specified by replacing `ORDER` with `descending` or its short form `desc`.
+* Ascending name order will **generally** be special characters and numbers followed by letters (incase-sensitive).
+* Persons with date of last visit will always appear in the end when sorting by date of last visit.
Examples:
* `sort n/` sorts by name in ascending order.
@@ -322,6 +324,7 @@ _Details coming soon ..._
* More than one tag can be added to a contact.
* Tags can contain any characters, but they should not begin with whitespace.
* You can include hyphens and spaces as necessary between words for tags that are multiple words long!
+* Avoid using underscores for tags.
* To indicate no tags for a contact, you can `add` a contact without any `t/` prefixes.
* Take note that `add`ing a contact with a `t/` prefix followed by whitespace is not supported. Omit the `t/` tag for contacts without tags.
From 9a00b96351ae7e00752e3c10994c98ad37e50c2b Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:02:57 +0800
Subject: [PATCH 05/18] Move contact field requirements up
---
docs/UserGuide.md | 134 ++++++++++++++++++++++------------------------
1 file changed, 65 insertions(+), 69 deletions(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index bb8304f40da..cb9072f5d40 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -44,6 +44,71 @@ SocialBook is a **desktop app for managing contacts, optimized for use via a Co
--------------------------------------------------------------------------------------------------------------------
+## Contact field requirements
+
+### Name
+* Names are compulsory for all contacts, and are denoted with the `n/` prefix.
+* Names can contain any characters at all, including spaces, hyphens, and other special characters.
+* Names will be stored in their case-sensitive form, but capitalisation will be ignored when checking for duplicate names.
+ * Eg. Adding a contact as "john Doe" will save them as such, but trying to add a "John Doe" with the same phone number will be marked as a duplicate person and rejected.
+ * To avoid unexpected behaviour with this, it is recommended that users save contacts with consistent capitalisation rules.
+
+### Phone
+* Phones are compulsory for all contacts, and are denoted with the `p/` prefix.
+* Phone numbers can only contain 8 numbers, and must begin with a 6, 8, or 9.
+* Spaces in the middle of a phone number are accepted (eg. 9123 4523), as are phone numbers without spaces (eg. 91234523).
+* Spaces in unusual locations will render the phone number invalid (eg. 912 34523).
+
+### Address
+* Addresses are optional for contacts, and are denoted by the `a/` prefix.
+* Addresses can contain any characters, including spaces, commas, hyphens, etc.
+* To indicate no address for a contact, you can `add` a contact without the `a/` prefix, or with a `a/` followed by whitespace.
+
+### Email
+* Emails are optional for contacts, and are denoted by the `e/` prefix.
+* Email addresses are confined to the limits of the traditional email format: **`localPart@domain.label`**. This includes a few restrictions:
+ * The `localPart` and `domain` components of the email must be alphanumeric, with no special characters.
+ * The `localPart` and `domain` components of the email must be separated by a `@`.
+ * The `label` component must be alphanumeric, and contain at least 2 characters.
+ * The `domain` and `label` component must be separated by a `.`.
+* To indicate no email for a contact, you can `add` a contact without the `e/` prefix, or with a `e/` followed by whitespace.
+
+### Date of Last Visit
+* Dates of last visit are optional for contacts, and are denoted by the `d/` prefix.
+* Dates of last visit are confined to the `DD-MM-YYYY` format.
+* The date provided must be valid, and before the current date. This prevents accidental entering of future dates.
+* To indicate no date of last visit for a contact, you can `add` a contact without the `d/` prefix, or with a `d/` followed by whitespace.
+
+### Emergency Contact
+* Emergency contacts are optional fields, and are denoted by the `ec/` prefix.
+* Emergency contacts are subject to the same formatting requirements as `Phone`.
+* To indicate no emergency contact for a person, you can `add` a contact without the `ec/` prefix, or with a `ec/` followed by whitespace.
+
+### Tags
+* Tags are optional for contacts, and are denoted by the `t/` prefix.
+* More than one tag can be added to a contact.
+* Tags can contain any characters, but they should not begin with whitespace.
+* You can include hyphens and spaces as necessary between words for tags that are multiple words long!
+* Avoid using underscores for tags.
+* To indicate no tags for a contact, you can `add` a contact without any `t/` prefixes.
+ * Take note that `add`ing a contact with a `t/` prefix followed by whitespace is not supported. Omit the `t/` tag for contacts without tags.
+
+### Remarks
+* Remarks are optional for contacts, and are denoted by the `r/` prefix.
+* It is recommended that long-form notes about a particular contact should be saved in remarks.
+* Remarks can contain any characters, as they allow long-form writing with multiple sentences.
+* **IMPORTANT:** Only one `r/` prefix can be used when adding remarks.
+ * Adding another `r/` prefix will cause the first part of the `r/` prefix to be lost.
+ * If needed to add the prefix `r/` to remark, enclose the prefix with " ". e.g. `remark 1 r/ use "r/" to add remark`
+
+
+
+**Take note:** contacts will always be created without remarks. To write a remark about a contact, you can do this with the `remark` command, or with the `edit` command by specifying an `r/` prefix.
+
+
+
+--------------------------------------------------------------------------------------------------------------------
+
## Features
@@ -273,75 +338,6 @@ If a person's data values are changed to an invalid format, Socialbook will disc
Furthermore, certain edits can cause the SocialBook to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
-### Archiving data files `[coming in v2.0]`
-
-_Details coming soon ..._
-
---------------------------------------------------------------------------------------------------------------------
-
-## Contact field requirements
-
-### Name
-* Names are compulsory for all contacts, and are denoted with the `n/` prefix.
-* Names can contain any characters at all, including spaces, hyphens, and other special characters.
-* Names will be stored in their case-sensitive form, but capitalisation will be ignored when checking for duplicate names.
- * Eg. Adding a contact as "john Doe" will save them as such, but trying to add a "John Doe" with the same phone number will be marked as a duplicate person and rejected.
- * To avoid unexpected behaviour with this, it is recommended that users save contacts with consistent capitalisation rules.
-
-### Phone
-* Phones are compulsory for all contacts, and are denoted with the `p/` prefix.
-* Phone numbers can only contain 8 numbers, and must begin with a 6, 8, or 9.
-* Spaces in the middle of a phone number are accepted (eg. 9123 4523), as are phone numbers without spaces (eg. 91234523).
-* Spaces in unusual locations will render the phone number invalid (eg. 912 34523).
-
-### Address
-* Addresses are optional for contacts, and are denoted by the `a/` prefix.
-* Addresses can contain any characters, including spaces, commas, hyphens, etc.
-* To indicate no address for a contact, you can `add` a contact without the `a/` prefix, or with a `a/` followed by whitespace.
-
-### Email
-* Emails are optional for contacts, and are denoted by the `e/` prefix.
-* Email addresses are confined to the limits of the traditional email format: **`localPart@domain.label`**. This includes a few restrictions:
- * The `localPart` and `domain` components of the email must be alphanumeric, with no special characters.
- * The `localPart` and `domain` components of the email must be separated by a `@`.
- * The `label` component must be alphanumeric, and contain at least 2 characters.
- * The `domain` and `label` component must be separated by a `.`.
-* To indicate no email for a contact, you can `add` a contact without the `e/` prefix, or with a `e/` followed by whitespace.
-
-### Date of Last Visit
-* Dates of last visit are optional for contacts, and are denoted by the `d/` prefix.
-* Dates of last visit are confined to the `DD-MM-YYYY` format.
-* The date provided must be valid, and before the current date. This prevents accidental entering of future dates.
-* To indicate no date of last visit for a contact, you can `add` a contact without the `d/` prefix, or with a `d/` followed by whitespace.
-
-### Emergency Contact
-* Emergency contacts are optional fields, and are denoted by the `ec/` prefix.
-* Emergency contacts are subject to the same formatting requirements as `Phone`.
-* To indicate no emergency contact for a person, you can `add` a contact without the `ec/` prefix, or with a `ec/` followed by whitespace.
-
-### Tags
-* Tags are optional for contacts, and are denoted by the `t/` prefix.
-* More than one tag can be added to a contact.
-* Tags can contain any characters, but they should not begin with whitespace.
-* You can include hyphens and spaces as necessary between words for tags that are multiple words long!
-* Avoid using underscores for tags.
-* To indicate no tags for a contact, you can `add` a contact without any `t/` prefixes.
- * Take note that `add`ing a contact with a `t/` prefix followed by whitespace is not supported. Omit the `t/` tag for contacts without tags.
-
-### Remarks
-* Remarks are optional for contacts, and are denoted by the `r/` prefix.
-* It is recommended that long-form notes about a particular contact should be saved in remarks.
-* Remarks can contain any characters, as they allow long-form writing with multiple sentences.
-* **IMPORTANT:** Only one `r/` prefix can be used when adding remarks.
- * Adding another `r/` prefix will cause the first part of the `r/` prefix to be lost.
- * If needed to add the prefix `r/` to remark, enclose the prefix with " ". e.g. `remark 1 r/ use "r/" to add remark`
-
-
-
-**Take note:** contacts will always be created without remarks. To write a remark about a contact, you can do this with the `remark` command, or with the `edit` command by specifying an `r/` prefix.
-
-
-
--------------------------------------------------------------------------------------------------------------------
## FAQ
From 519a1dc52dd18efe2053691b7303b9319f775912 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:10:16 +0800
Subject: [PATCH 06/18] Account for list error message in planned enhancements
---
docs/DeveloperGuide.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 23946887fb7..b908434085d 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -628,3 +628,9 @@ testers are expected to do more *exploratory* testing.
3. Remove `"remark"` field from a person. Expected: The person with the missing `"remark"` field is lost. The rest of the contacts still exist in the contact list.
4. Add a `","` to the `"remark"` field of a person. Expected: The file data format is invalid. All data is lost. The app starts on clean slate.
+
+--------------------------------------------------------------------------------------------------------------------
+
+## **Appendix: Planned Enhancements**
+
+1. Make list command with miscellaneous parameters error message more helpful. Currently, typing list with with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
\ No newline at end of file
From b7ae3f43988926dd661db7736703a25fe8072c20 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:17:37 +0800
Subject: [PATCH 07/18] Fix typos in User Stories
---
docs/DeveloperGuide.md | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index b908434085d..f84fa948c0c 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -292,9 +292,9 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
| Priority | As a … | I want to … | So that I can… |
|----------|-------------------------------------------|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| `* * *` | social worker | delete a contact | remove the contact when I no longer serve them so that the contact list do not get too long |
-| `* * *` | social worker/new user | add contact with phone number | remember the person i serve |
+| `* * *` | social worker/new user | add contact with phone number | remember the person I serve |
| `* * *` | social worker/new user | add address | easily look up without needed to look up database/files |
-| `* * *` | social worker | view my list of contacts | so that i can see the beneficiaries i serve |
+| `* * *` | social worker | view my list of contacts | see the beneficiaries I serve |
| `* *` | overwhelmed with many households | take note of how long it has been since I visited each house | ensure that no house gets forgotten in my scheduling |
| `* *` | new user learning the interface | check out basic commands that are frequently used with a help command | learn the basic usage of the program more quickly |
| `* *` | user with multiple contacts per household | tag multiple users to be from the same household | simplify the process of contacting other household members |
@@ -302,19 +302,19 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
| `* *` | social worker | add alternative contact method | add a contact for elderly who do not have a phone |
| `* *` | social worker/expert user | look for emergency contact quickly | inform next-of-kin when something happen |
| `* *` | social worker/expert user | add family contact | know how many people in the household |
-| `* *` | social worker/expert user | add notes | remember if i need to take precaution before visiting the person/family or preparations i need to make |
-| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if i remember the name |
+| `* *` | social worker/expert user | add notes | remember if I need to take precaution before visiting the person/family or preparations i need to make |
+| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if I remember the name |
| `* *` | social worker/expert user | search through contacts using keywords | find contact quickly based on key words within the contact information |
-| `* *` | social worker/expert user | add alternative phone number | incase beneficiary cannot be reached |
+| `* *` | social worker/expert user | add alternative phone number | have another way of reaching the beneficiary |
| `* *` | social worker/new user | edit contact | edit the contact without the need to delete and create a new one |
| `* *` | forgetful individual | add tags which explain what service the person needs | remember and be able to meet the needs of beneficiaries |
-| `* *` | holder of sensitive information | lock the SocialBook behind a password | avoid having unsolicited sharing of personal information |
+| `* *` | holder of sensitive information | lock the SocialBook behind a password | avoid having unsolicited sharing of personal information |
| `* *` | max/expert user | add the medicinal information of beneficiaries | to know when to follow up on critical medicines |
-| `* *` | new user | see a sample of the product features on display | so that I know how a feature can be used to maximise the value |
+| `* *` | new user | see a sample of the product features on display | so that I know how a feature can be used to maximise the value |
| `*` | has rotating beneficiaries | remove several contacts at once, when beneficiaries no longer require care | so that I can make space for new benficiaries and not keep track of old ones |
| `*` | max/expert user | know the households I need to visit on a certain day | so that I can schedule my day and not forget to visit any households |
| `*` | user short on time | visit households that are geographically close in the same day/visit | minimise the travelling time for myself |
-| `*` | user switching devices | transfer the SocialBook contacts from one device to another | avoid having to manually re-enter all the current contacts |
+| `*` | user switching devices | transfer the SocialBook contacts from one device to another | avoid having to manually re-enter all the current contacts |
| `*` | max/expert user | export all contacts to a txt file/excel file | so that I have a copy of all beneficiaries, past and present, in a larger database |
| `*` | max/expert user | record social media credentials of a contact, if they have any | so that I can get to know their lives better and establish a closer bond |
| `*` | max/expert user | send reminder to my email a day before my visit | so that I will not forget to visit a household |
From bc9f2eb9da0e2511d35389f7ac3cab4f3b8c920e Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:24:13 +0800
Subject: [PATCH 08/18] Update the find command tag _ in planned enhancements
---
docs/DeveloperGuide.md | 3 ++-
docs/UserGuide.md | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index f84fa948c0c..e866ad0f54a 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -633,4 +633,5 @@ testers are expected to do more *exploratory* testing.
## **Appendix: Planned Enhancements**
-1. Make list command with miscellaneous parameters error message more helpful. Currently, typing list with with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
\ No newline at end of file
+1. Make list command with miscellaneous parameters error message more helpful. Currently, typing list with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
+2. Prevent tags from allowing underscores. When searching for tags with underscores in the find command, the underscores are interpreted as an `or`. This means that searching for the tag "low_income" will bring up all tags containing "low" and "income" instead of just "low_income".
\ No newline at end of file
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index cb9072f5d40..31343428530 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -89,7 +89,6 @@ SocialBook is a **desktop app for managing contacts, optimized for use via a Co
* More than one tag can be added to a contact.
* Tags can contain any characters, but they should not begin with whitespace.
* You can include hyphens and spaces as necessary between words for tags that are multiple words long!
-* Avoid using underscores for tags.
* To indicate no tags for a contact, you can `add` a contact without any `t/` prefixes.
* Take note that `add`ing a contact with a `t/` prefix followed by whitespace is not supported. Omit the `t/` tag for contacts without tags.
From 79e7ab9fa381618cda1af830d608fbccbd91c4d7 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:27:49 +0800
Subject: [PATCH 09/18] Improve UG description of SocialBook
---
docs/UserGuide.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 31343428530..227266d4e7a 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -6,7 +6,7 @@
# SocialBook User Guide
-SocialBook is a **desktop app for managing contacts, 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, SocialBook can get your contact management tasks done faster than traditional GUI apps.
+SocialBook is a **desktop app designed for social workers in Singapore, 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, SocialBook can get your contact management tasks done faster than traditional GUI apps. It helps you manage your beneficiaries by storing contact information, important remarks and information on the last time you visited them.
From 815be589e5616095fb46afe50773a430990a8c46 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 22:35:14 +0800
Subject: [PATCH 10/18] Add DG blank line EOF
---
docs/DeveloperGuide.md | 2 +-
docs/UserGuide.md | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 7c63aa428f7..8b113dca7ff 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -634,4 +634,4 @@ testers are expected to do more *exploratory* testing.
## **Appendix: Planned Enhancements**
1. Make list command with miscellaneous parameters error message more helpful. Currently, typing list with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
-2. Prevent tags from allowing underscores. When searching for tags with underscores in the find command, the underscores are interpreted as an `or`. This means that searching for the tag "low_income" will bring up all tags containing "low" and "income" instead of just "low_income".
\ No newline at end of file
+2. Prevent tags from allowing underscores. When searching for tags with underscores in the find command, the underscores are interpreted as an `or`. This means that searching for the tag "low_income" will bring up all tags containing "low" and "income" instead of just "low_income".
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index e0320d4446b..48fb2963243 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -260,11 +260,11 @@ Format: `sort PARAMETER_PREFIX/ORDER`
* An ascending order can be specified by replacing `ORDER` with `ascending` or its short form `asc`.
* A descending order can be specified by replacing `ORDER` with `descending` or its short form `desc`.
* Ascending name order will **generally** be special characters and numbers followed by letters (incase-sensitive).
-* Persons with date of last visit will always appear in the end when sorting by date of last visit.
+* Persons with date of last visit will always appear in the end when sorting by date of last visit.
Examples:
* `sort n/` sorts by name in ascending order.
-* `sort d/`, `sort d/asc`, `sort d/ascending` are all equivalent, and they sort the date of last visit in ascending order.
+* `sort d/`, `sort d/asc`, `sort d/ascending` are all equivalent, and they sort the date of last visit in ascending order.
* `sort d/desc` sorts by date of last visit in descending order.
### Viewing a person : `view`
@@ -286,7 +286,7 @@ Examples:
-**Take Note:** Viewing is executed based on the currently displayed list.
+**Take Note:** Viewing is executed based on the currently displayed list.
Executing any commands that alter the displayed list (such as `delete`, `sort`, or `find`) may change the person being viewed.
For this reason, it is recommended to execute `view` commands after the displayed list has been modified as intended.
From 6da5d101f4b26721d2be0ec0e1d8551d9d4b8f0e Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Mon, 11 Nov 2024 23:55:17 +0800
Subject: [PATCH 11/18] Fix DG typos
---
docs/DeveloperGuide.md | 76 +++++++++++++++++++++---------------------
1 file changed, 38 insertions(+), 38 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 8b113dca7ff..855c53c45b0 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -289,42 +289,42 @@ _{Explain here how the data archiving feature will be implemented}_
Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`
-| Priority | As a … | I want to … | So that I can… |
-|----------|-------------------------------------------|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
-| `* * *` | social worker | delete a contact | remove the contact when I no longer serve them so that the contact list do not get too long |
-| `* * *` | social worker/new user | add contact with phone number | remember the person I serve |
-| `* * *` | social worker/new user | add address | easily look up without needed to look up database/files |
-| `* * *` | social worker | view my list of contacts | see the beneficiaries I serve |
-| `* *` | overwhelmed with many households | take note of how long it has been since I visited each house | ensure that no house gets forgotten in my scheduling |
-| `* *` | new user learning the interface | check out basic commands that are frequently used with a help command | learn the basic usage of the program more quickly |
-| `* *` | user with multiple contacts per household | tag multiple users to be from the same household | simplify the process of contacting other household members |
-| `* *` | social worker | prioritize contacts | allow myself to have quick access to high priority household |
-| `* *` | social worker | add alternative contact method | add a contact for elderly who do not have a phone |
-| `* *` | social worker/expert user | look for emergency contact quickly | inform next-of-kin when something happen |
-| `* *` | social worker/expert user | add family contact | know how many people in the household |
-| `* *` | social worker/expert user | add notes | remember if I need to take precaution before visiting the person/family or preparations i need to make |
-| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if I remember the name |
-| `* *` | social worker/expert user | search through contacts using keywords | find contact quickly based on key words within the contact information |
-| `* *` | social worker/expert user | add alternative phone number | have another way of reaching the beneficiary |
-| `* *` | social worker/new user | edit contact | edit the contact without the need to delete and create a new one |
-| `* *` | forgetful individual | add tags which explain what service the person needs | remember and be able to meet the needs of beneficiaries |
-| `* *` | holder of sensitive information | lock the SocialBook behind a password | avoid having unsolicited sharing of personal information |
-| `* *` | max/expert user | add the medicinal information of beneficiaries | to know when to follow up on critical medicines |
-| `* *` | new user | see a sample of the product features on display | so that I know how a feature can be used to maximise the value |
-| `*` | has rotating beneficiaries | remove several contacts at once, when beneficiaries no longer require care | so that I can make space for new benficiaries and not keep track of old ones |
-| `*` | max/expert user | know the households I need to visit on a certain day | so that I can schedule my day and not forget to visit any households |
-| `*` | user short on time | visit households that are geographically close in the same day/visit | minimise the travelling time for myself |
-| `*` | user switching devices | transfer the SocialBook contacts from one device to another | avoid having to manually re-enter all the current contacts |
-| `*` | max/expert user | export all contacts to a txt file/excel file | so that I have a copy of all beneficiaries, past and present, in a larger database |
-| `*` | max/expert user | record social media credentials of a contact, if they have any | so that I can get to know their lives better and establish a closer bond |
-| `*` | max/expert user | send reminder to my email a day before my visit | so that I will not forget to visit a household |
-| `*` | max/expert user | upload pictures of my beneficiaries | so that I will not forget how they look like |
-| `*` | max/expert user | view contacts on google maps | so that I can directly see where and how to go to the household |
-| `*` | visual rememberer | add photos for each contact | to match beneficiary names to their faces more easily |
-| `*` | loyal user | save contact information into a shareable form | share contacts with colleagues as need be |
-| `*` | experienced social worker | locate a link where I can share my views and suggestions on the app | help the app be more user centered and helpful over time |
-| `*` | efficient person | create visit paths based on proximity of beneficiaries | to be able to serve the most beneficiaries a day |
-| `*` | social person | add notes of on conversations with beneficiaries | develop stronger relationships by building rapport |
+| Priority | As a … | I want to … | So that I can… |
+|----------|--------------------------------------------|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
+| `* * *` | social worker | delete a contact | remove the contact when I no longer serve them so that the contact list does not get too long |
+| `* * *` | social worker/new user | add contact with phone number | remember the person I serve |
+| `* * *` | social worker/new user | add address | easily look up without needed to look up database/files |
+| `* * *` | social worker | view my list of contacts | see the beneficiaries I serve |
+| `* *` | overwhelmed with many households | take note of how long it has been since I visited each house | ensure that no house gets forgotten in my scheduling |
+| `* *` | new user learning the interface | check out basic commands that are frequently used with a help command | learn the basic usage of the program more quickly |
+| `* *` | user with multiple contacts per household | tag multiple users to be from the same household | simplify the process of contacting other household members |
+| `* *` | social worker | prioritize contacts | allow myself to have quick access to high priority household |
+| `* *` | social worker | add alternative contact method | add a contact for elderly who do not have a phone |
+| `* *` | social worker/expert user | look for emergency contact quickly | inform next-of-kin when something happen |
+| `* *` | social worker/expert user | add family contact | know how many people in the household |
+| `* *` | social worker/expert user | add notes | remember if I need to take precaution before visiting the person/family or preparations i need to make |
+| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if I remember the name |
+| `* *` | social worker/expert user | search through contacts using keywords | find contact quickly based on key words within the contact information |
+| `* *` | social worker/expert user | add alternative phone number | have another way of reaching the beneficiary |
+| `* *` | social worker/new user | edit contact | edit the contact without the need to delete and create a new one |
+| `* *` | forgetful individual | add tags which explain what service the person needs | remember and be able to meet the needs of beneficiaries |
+| `* *` | holder of sensitive information | lock the SocialBook behind a password | avoid having unsolicited sharing of personal information |
+| `* *` | max/expert user | add the medicinal information of beneficiaries | to know when to follow up on critical medicines |
+| `* *` | new user | see a sample of the product features on display | so that I know how a feature can be used to maximise the value |
+| `*` | has rotating beneficiaries | remove several contacts at once, when beneficiaries no longer require care | so that I can make space for new beneficiaries and not keep track of old ones |
+| `*` | max/expert user | know the households I need to visit on a certain day | so that I can schedule my day and not forget to visit any households |
+| `*` | user short on time | visit households that are geographically close in the same day/visit | minimise the travelling time for myself |
+| `*` | user switching devices | transfer the SocialBook contacts from one device to another | avoid having to manually re-enter all the current contacts |
+| `*` | max/expert user | export all contacts to a txt file/excel file | so that I have a copy of all beneficiaries, past and present, in a larger database |
+| `*` | max/expert user | record social media credentials of a contact, if they have any | so that I can get to know their lives better and establish a closer bond |
+| `*` | max/expert user | send reminder to my email a day before my visit | so that I will not forget to visit a household |
+| `*` | max/expert user | upload pictures of my beneficiaries | so that I will not forget how they look like |
+| `*` | max/expert user | view contacts on google maps | so that I can directly see where and how to go to the household |
+| `*` | visual rememberer | add photos for each contact | to match beneficiary names to their faces more easily |
+| `*` | loyal user | save contact information into a shareable form | share contacts with colleagues as need be |
+| `*` | experienced social worker | locate a link where I can share my views and suggestions on the app | help the app be more user centered and helpful over time |
+| `*` | efficient person | create visit paths based on proximity of beneficiaries | to be able to serve the most beneficiaries a day |
+| `*` | social person | add notes of on conversations with beneficiaries | develop stronger relationships by building rapport |
*{More to be added}*
@@ -533,8 +533,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
* **Singapore Standard Time**: Singapore time, which is 8 hours ahead of Coordinated Universal Time (UTC + 08:00)
* **Hard disk**: data storage device in laptops and computers.
* **.JSON file**: JavaScript Object Notation, stores and transports data using a human-readable text format.
-* **SocialBook**: SocialBook is an address book hence SocialBook and AddressBook are interchangable. SocialBook is used to reference the product while AddressBook refers to the Class object in source code.
-* **Social worker**: refers to full-time employees of the [Ministry of Social and Family Developement (MSF) or its subsidaries](https://www.msf.gov.sg)
+* **SocialBook**: SocialBook is an address book hence SocialBook and AddressBook are interchangeable. SocialBook is used to reference the product while AddressBook refers to the Class object in source code.
+* **Social worker**: refers to full-time employees of the [Ministry of Social and Family Development (MSF) or its subsidiaries](https://www.msf.gov.sg)
--------------------------------------------------------------------------------------------------------------------
From 7adbb31e36f2e2394d5d4f088f2c1070db85100b Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 08:58:14 +0800
Subject: [PATCH 12/18] Improve formatting
---
docs/DeveloperGuide.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 855c53c45b0..fb2778a6534 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -633,5 +633,5 @@ testers are expected to do more *exploratory* testing.
## **Appendix: Planned Enhancements**
-1. Make list command with miscellaneous parameters error message more helpful. Currently, typing list with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
+1. Make `list` command with miscellaneous parameters error message more helpful. Currently, typing `list` with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
2. Prevent tags from allowing underscores. When searching for tags with underscores in the find command, the underscores are interpreted as an `or`. This means that searching for the tag "low_income" will bring up all tags containing "low" and "income" instead of just "low_income".
From bf7eac2a223eef134c85316606d45b05fe81ba5e Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 09:13:00 +0800
Subject: [PATCH 13/18] Update User Stories
---
docs/DeveloperGuide.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index f7d5763d81c..2b134ce2364 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -307,10 +307,10 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
| Priority | As a … | I want to … | So that I can… |
|----------|-------------------------------------------|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
-| `* * *` | social worker | delete a contact | remove the contact when I no longer serve them so that the contact list does not get too long |
-| `* * *` | social worker/new user | add contact with phone number | remember the person i serve |
+| `* * *` | social worker | delete a contact | remove the contact when I no longer serve them so that the contact list does not get too long |
+| `* * *` | social worker/new user | add contact with phone number | remember the person I serve |
| `* * *` | social worker/new user | add address | easily look up without needed to look up database/files |
-| `* * *` | social worker | view my list of contacts | so that i can see the beneficiaries i serve |
+| `* * *` | social worker | view my list of contacts | see the beneficiaries I serve |
| `* *` | overwhelmed with many households | take note of how long it has been since I visited each house | ensure that no house gets forgotten in my scheduling |
| `* *` | new user learning the interface | check out basic commands that are frequently used with a help command | learn the basic usage of the program more quickly |
| `* *` | user with multiple contacts per household | tag multiple users to be from the same household | simplify the process of contacting other household members |
@@ -318,10 +318,10 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
| `* *` | social worker | add alternative contact method | add a contact for elderly who do not have a phone |
| `* *` | social worker/expert user | look for emergency contact quickly | inform next-of-kin when something happen |
| `* *` | social worker/expert user | add family contact | know how many people in the household |
-| `* *` | social worker/expert user | add notes | remember if i need to take precaution before visiting the person/family or preparations i need to make |
-| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if i remember the name |
+| `* *` | social worker/expert user | add notes | remember if I need to take precaution before visiting the person/family or preparations i need to make |
+| `* *` | social worker/expert user | sort contacts by lexicographical order | find contact quickly if I remember the name |
| `* *` | social worker/expert user | search through contacts using keywords | find contact quickly based on key words within the contact information |
-| `* *` | social worker/expert user | add alternative phone number | incase beneficiary cannot be reached |
+| `* *` | social worker/expert user | add alternative phone number | have another way of reaching the beneficiary |
| `* *` | social worker/new user | edit contact | edit the contact without the need to delete and create a new one |
| `* *` | forgetful individual | add tags which explain what service the person needs | remember and be able to meet the needs of beneficiaries |
| `* *` | holder of sensitive information | lock the SocialBook behind a password | avoid having unsolicited sharing of personal information |
From 93a0c184aad817b674c9bd52e35a0cfa9e2e1a0d Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 09:24:09 +0800
Subject: [PATCH 14/18] Fix typo
---
docs/DeveloperGuide.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 14015bda56c..ad68fe42418 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -204,7 +204,7 @@ A current contact can be assigned as another person's emergency contact. It is a
-A person will then store an ContactablePerson as their emergency contact.
+A person will then store a ContactablePerson as their emergency contact.
--------------------------------------------------------------------------------------------------------------------
From d5585d001eece94fb788d60b07fb2aec530c92c7 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 09:31:06 +0800
Subject: [PATCH 15/18] Add Remark enhancement
---
docs/DeveloperGuide.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index ad68fe42418..dea887d813a 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -608,3 +608,4 @@ testers are expected to do more *exploratory* testing.
1. Make `list` command with miscellaneous parameters error message more helpful. Currently, typing `list` with miscellaneous parameters, ex. `list 123`, will result in a message that states "Please ensure your command is valid!". To improve specificity this will be changed to ask user to remove miscellaneous parameters.
2. Prevent tags from allowing underscores. When searching for tags with underscores in the find command, the underscores are interpreted as an `or`. This means that searching for the tag "low_income" will bring up all tags containing "low" and "income" instead of just "low_income".
+3. Remove `remark` command while keeping remarks. Currently, remarks can be added via the edit command or the remark command but not the add command. Instead of having a dedicated remark command we will allow users to use add command to add remarks while adding a contact and edit command to add or edit the remark of a contact. This change solves an associated issue whereby the remark command currently undoes the detailed view on the contact.
From 018a061bc315917731e3f0dd4e5c276d8d24dfd4 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 09:54:56 +0800
Subject: [PATCH 16/18] Remove the C from class diagram
---
docs/diagrams/EmergencyContact.puml | 1 +
docs/diagrams/VisitHistory.puml | 1 +
2 files changed, 2 insertions(+)
diff --git a/docs/diagrams/EmergencyContact.puml b/docs/diagrams/EmergencyContact.puml
index 0574232dbd0..06250ad553a 100644
--- a/docs/diagrams/EmergencyContact.puml
+++ b/docs/diagrams/EmergencyContact.puml
@@ -1,6 +1,7 @@
@startuml
'https://plantuml.com/class-diagram
+hide circle
class ContactablePerson
class Person
class EmergencyOnlyContact
diff --git a/docs/diagrams/VisitHistory.puml b/docs/diagrams/VisitHistory.puml
index 7a3c89ad2d9..3254aa1e494 100644
--- a/docs/diagrams/VisitHistory.puml
+++ b/docs/diagrams/VisitHistory.puml
@@ -2,6 +2,7 @@
'https://plantuml.com/class-diagram
+hide circle
class Person
class VisitHistory
class Visit
From e8b263dd9b6f0e5424241ae18c0d54f1ec76c9e9 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 09:57:56 +0800
Subject: [PATCH 17/18] Fix missing changes for contact field requirements
---
docs/UserGuide.md | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 48d8a68a38c..a52294ca384 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -66,17 +66,18 @@ SocialBook is a **desktop app designed for social workers in Singapore, optimize
### Email
* Emails are optional for contacts, and are denoted by the `e/` prefix.
-* Email addresses are confined to the limits of the traditional email format: **`localPart@domain.label`**. This includes a few restrictions:
- * The `localPart` and `domain` components of the email must be alphanumeric, with no special characters.
- * The `localPart` and `domain` components of the email must be separated by a `@`.
- * The `label` component must be alphanumeric, and contain at least 2 characters.
- * The `domain` and `label` component must be separated by a `.`.
+* Email addresses are confined to the limits of the traditional email format: **`localPart@domainName`**. This includes a few restrictions:
+ * The `localPart` component of the email can only contain alphanumeric characters and the following 4 special characters: **`+`, `-`, `.`, `_`**. But take note that it cannot start or end with these special characters.
+ * The `domainName` component of the email will consist of one or more domain labels, separated by periods (`.`).
+ * Every domain label can only contain alphanumeric characters, or hyphens (`-`). They must also start and end with alphanumeric characters, so no starting or ending email addresses with hyphens!
+ * The last domain label in the `domainName` must be at least 2 characters long.
+ * The `localPart` and `domainName` components of the email must be separated by a `@`.
* To indicate no email for a contact, you can `add` a contact without the `e/` prefix, or with a `e/` followed by whitespace.
### Date of Last Visit
* Dates of last visit are optional for contacts, and are denoted by the `d/` prefix.
-* Dates of last visit are confined to the `DD-MM-YYYY` format.
-* The date provided must be valid, and before the current date. This prevents accidental entering of future dates.
+* Dates of last visit are confined to the `dd-MM-yyyy` format and range of dates follows the [ISO-8601 calendar system](https://en.wikipedia.org/wiki/ISO_8601).
+* The date provided must be valid, i.e., either today's date or any date before today. This prevents accidental entering of future dates.
* To indicate no date of last visit for a contact, you can `add` a contact without the `d/` prefix, or with a `d/` followed by whitespace.
### Emergency Contact
From dac12f810d576d64bba8c35489f2abaa2dad4692 Mon Sep 17 00:00:00 2001
From: AbdulrahmanAlRammah
<142239643+AbdulrahmanAlRammah@users.noreply.github.com>
Date: Tue, 12 Nov 2024 10:08:39 +0800
Subject: [PATCH 18/18] Fix typos
---
docs/UserGuide.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index a52294ca384..6c81ff3902e 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -260,8 +260,8 @@ Format: `sort PARAMETER_PREFIX/ORDER`
* By default, if `ORDER` is omitted, contacts will be sorted in ascending order based on the `PARAMETER`.
* An ascending order can be specified by replacing `ORDER` with `ascending` or its short form `asc`.
* A descending order can be specified by replacing `ORDER` with `descending` or its short form `desc`.
-* Ascending name order will **generally** be special characters and numbers followed by letters (incase-sensitive).
-* Persons with date of last visit will always appear in the end when sorting by date of last visit.
+* Ascending name order will **generally** be special characters and numbers followed by letters (case-insensitive).
+* Persons without date of last visit will always appear at the end when sorting by date of last visit.
Examples:
* `sort n/` sorts by name in ascending order.