From 8bc1ff2714cd6f35482637220011ffd1fe22c712 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Sun, 10 Nov 2024 11:42:14 +0800 Subject: [PATCH 01/13] Date of last visit in field requirements Update the section on date of last visit to specify addition of today's date as a valid date, including any date before today. --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 75a6055b564..a6766754442 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -303,7 +303,7 @@ _Details coming soon ..._ ### 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. +* 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 1ef441a887cf4213b2dc05b53cf2d8f860f59104 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Sun, 10 Nov 2024 11:51:55 +0800 Subject: [PATCH 02/13] Add target user and VP into UG At the start of the UG, the targer user and value proposition are added to make it clear who socialbook is for and what it can offer --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index a6766754442..441db0721da 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 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 are a social worker and can type fast, SocialBook can get your contact management tasks (eg. locate/contact families) done faster than traditional GUI apps. From e4805a9fe5e18a3b7002e824064df50643dc61c6 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Sun, 10 Nov 2024 12:05:31 +0800 Subject: [PATCH 03/13] Specify requirements of date of last visit Add ISO 8601 calendar system requirement into the field requirements of date of last visit. --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 441db0721da..ad0fbdefd95 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -302,7 +302,7 @@ _Details coming soon ..._ ### 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. +* Dates of last visit are confined to the `DD-MM-YYYY` format and follows the ISO-8601 calendar system. * 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. From c5538a44e5065e035577a0ce9bffad0765a72837 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 14:27:36 +0800 Subject: [PATCH 04/13] Update dates to correct dd-MM-yyyy format --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ad0fbdefd95..b951c21e31b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -97,7 +97,7 @@ Format: `add n/NAME p/PHONE_NUMBER [e/EMAIL] [a/ADDRESS] [t/TAG]…​ [d/DATE_O Examples: * `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 d/02-01-2024` -* `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/62345678 t/criminal d/03-28-2024` +* `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/62345678 t/criminal d/28-03-2024` * `add p/92345678 n/Jane Smith d/01-01-2024 ec/98765432` * `add p/92345678 n/Jane Smith d/01-01-2024` @@ -353,7 +353,7 @@ _Details coming soon ..._ Action | Format, Examples -----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------- -**Add** | `add n/NAME p/PHONE_NUMBER [e/EMAIL] [a/ADDRESS] [t/TAG]…​ [d/DATE_OF_LAST_VISIT] [ec/EMERGENCY_CONTACT]`
e.g., `add n/James Ho p/82224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague d/07-23-2024` +**Add** | `add n/NAME p/PHONE_NUMBER [e/EMAIL] [a/ADDRESS] [t/TAG]…​ [d/DATE_OF_LAST_VISIT] [ec/EMERGENCY_CONTACT]`
e.g., `add n/James Ho p/82224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague d/23-07-2024` **Clear** | `clear` **Delete** | `delete INDEX`
e.g., `delete 3` **Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​ [d/DATE_OF_LAST_VISIT] [ec/EMERGENCY_CONTACT] [r/REMARK]`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` From 553fb5dda3ead47d7a39002d12e17ce4b48bcc89 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 14:33:15 +0800 Subject: [PATCH 05/13] LogicClassDiagram.puml: Update association labels Update the association labels to the correct notation taught in course content. --- docs/diagrams/LogicClassDiagram.puml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/diagrams/LogicClassDiagram.puml b/docs/diagrams/LogicClassDiagram.puml index 58b4f602ce6..dc63d6c948c 100644 --- a/docs/diagrams/LogicClassDiagram.puml +++ b/docs/diagrams/LogicClassDiagram.puml @@ -29,10 +29,10 @@ HiddenOutside ..> Logic LogicManager .right.|> Logic LogicManager -right->"1" ParserClasses -ParserClasses ..> XYZCommand : <> +ParserClasses ..> XYZCommand : create > XYZCommand -up-|> Command -LogicManager .left.> Command : <> +LogicManager .left.> Command : call > LogicManager --> Model LogicManager --> Storage @@ -43,5 +43,5 @@ note right of XYZCommand: XYZCommand = AddCommand, \nFindCommand, etc Logic ..> CommandResult LogicManager .down.> CommandResult -Command .up.> CommandResult : <> +Command .up.> CommandResult : create > @enduml From 0d2193a261aa2296523e21b2c288a502b8df5199 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 14:36:09 +0800 Subject: [PATCH 06/13] ParserClasses.puml: Update association labels Update association labels to the correct notation taught in course content --- docs/diagrams/ParserClasses.puml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/diagrams/ParserClasses.puml b/docs/diagrams/ParserClasses.puml index ce4c5ce8c8d..83506318828 100644 --- a/docs/diagrams/ParserClasses.puml +++ b/docs/diagrams/ParserClasses.puml @@ -21,10 +21,10 @@ Class Prefix Class HiddenOutside #FFFFFF HiddenOutside ..> AddressBookParser -AddressBookParser .down.> XYZCommandParser: <> +AddressBookParser .down.> XYZCommandParser: create > -XYZCommandParser ..> XYZCommand : <> -AddressBookParser ..> Command : <> +XYZCommandParser ..> XYZCommand : create > +AddressBookParser ..> Command : use > XYZCommandParser .up.|> Parser XYZCommandParser ..> ArgumentMultimap XYZCommandParser ..> ArgumentTokenizer From 88928a96457239ff872f5014bbdd5906b1bbe06a Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 15:46:15 +0800 Subject: [PATCH 07/13] Add seed feature to implementation section --- docs/DeveloperGuide.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index eb90176f965..aa5de3a9ffc 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -158,6 +158,22 @@ Classes used by multiple components are in the `seedu.address.commons` package. This section describes some noteworthy details on how certain features are implemented. +### Seed feature + +#### Implementation + +The seed feature seeds dummy data into SocialBook. In the event that the user clears all the contacts in SocialBook, the user can execute the seed command to seed sample data into the SocialBook and continue trying out its features. + +The seed command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#Logic-component). + +The seed command adds a `Person` object, in `SampleDataUtil` to the `Model`, if the `Person` object is not already inside SocialBook. + +The following activity diagram summarises what happens when a user executes the seed command: + +insert activity diagram for seed command for loop + + + ### \[Proposed\] Undo/redo feature #### Proposed Implementation From 713ec792c4a4ee4700b54636f2b990d2ba7c5b84 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 16:04:51 +0800 Subject: [PATCH 08/13] Add view feature to implementation section --- docs/DeveloperGuide.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index aa5de3a9ffc..679e430e637 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -172,6 +172,17 @@ The following activity diagram summarises what happens when a user executes the insert activity diagram for seed command for loop +### View feature + +#### Implementation + +The view feature toggles the card status of a contact in SocialBook to either show all of their information or an abridged version of it. + +The view command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#Logic-component). + +The activity diagram below shows how a view command toggles the card status of a contact: + +insert activity diagram for view command ### \[Proposed\] Undo/redo feature From 3ee3e7b462a389d426d565926feabf68adda6883 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 16:42:55 +0800 Subject: [PATCH 09/13] Add seed command activity diagram Add activity diagram for seed command execution and include diagram in DG --- docs/DeveloperGuide.md | 2 +- docs/diagrams/SeedActivityDiagram.puml | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 docs/diagrams/SeedActivityDiagram.puml diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 679e430e637..78aa839ad64 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -170,7 +170,7 @@ The seed command adds a `Person` object, in `SampleDataUtil` to the `Model`, if The following activity diagram summarises what happens when a user executes the seed command: -insert activity diagram for seed command for loop + ### View feature diff --git a/docs/diagrams/SeedActivityDiagram.puml b/docs/diagrams/SeedActivityDiagram.puml new file mode 100644 index 00000000000..0f200fcc4aa --- /dev/null +++ b/docs/diagrams/SeedActivityDiagram.puml @@ -0,0 +1,16 @@ +@startuml +'https://plantuml.com/activity-diagram-beta + +start +:user executes seed command; + +repeat +if () then ([model.hasPerson()]) + :continue; +else ([else]) + :add person to model; +endif +repeat while () is ([end of for loop == false]) not ([else]) +stop + +@enduml From 6f3f53c434cb557cde661000e425428bcb4f71e2 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 17:05:47 +0800 Subject: [PATCH 10/13] Add activity diagram for view command Add activity diagram for view command execution and include diagram into DG. --- docs/DeveloperGuide.md | 3 +-- docs/diagrams/ViewActivityDiagram.puml | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 docs/diagrams/ViewActivityDiagram.puml diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 78aa839ad64..ac3f8fca5ee 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -182,8 +182,7 @@ The view command works just like any other `Command` object and how a `Command` The activity diagram below shows how a view command toggles the card status of a contact: -insert activity diagram for view command - + ### \[Proposed\] Undo/redo feature diff --git a/docs/diagrams/ViewActivityDiagram.puml b/docs/diagrams/ViewActivityDiagram.puml new file mode 100644 index 00000000000..af6aad5e083 --- /dev/null +++ b/docs/diagrams/ViewActivityDiagram.puml @@ -0,0 +1,21 @@ +@startuml +'https://plantuml.com/activity-diagram-beta + +start +:user executes view command; +if () then ([valid person's index]) + :get person at index; + if () then ([person has full view toggled]) + :Display full contact + card of person; + else ([else]) + :Display abridged version + of card; + endif +else ([else]) + :throw new CommandException(); +endif + +stop + +@enduml From 0b739f2772def11c87308738209d52fa49df658d Mon Sep 17 00:00:00 2001 From: rayray39 Date: Mon, 11 Nov 2024 17:23:27 +0800 Subject: [PATCH 11/13] Remove default proposed implementation in DG --- docs/DeveloperGuide.md | 92 ------------------------------------------ 1 file changed, 92 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ac3f8fca5ee..302b937ff62 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -184,98 +184,6 @@ The activity diagram below shows how a view command toggles the card status of a -### \[Proposed\] Undo/redo feature - -#### Proposed Implementation - -The proposed undo/redo mechanism is facilitated by `VersionedAddressBook`. It extends `AddressBook` with an undo/redo history, stored internally as an `addressBookStateList` and `currentStatePointer`. Additionally, it implements the following operations: - -* `VersionedAddressBook#commit()` — Saves the current address book state in its history. -* `VersionedAddressBook#undo()` — Restores the previous address book state from its history. -* `VersionedAddressBook#redo()` — Restores a previously undone address book state from its history. - -These operations are exposed in the `Model` interface as `Model#commitAddressBook()`, `Model#undoAddressBook()` and `Model#redoAddressBook()` respectively. - -Given below is an example usage scenario and how the undo/redo mechanism behaves at each step. - -Step 1. The user launches the application for the first time. The `VersionedAddressBook` will be initialized with the initial address book state, and the `currentStatePointer` pointing to that single address book state. - - - -Step 2. The user executes `delete 5` command to delete the 5th person in the address book. The `delete` command calls `Model#commitAddressBook()`, causing the modified state of the address book after the `delete 5` command executes to be saved in the `addressBookStateList`, and the `currentStatePointer` is shifted to the newly inserted address book state. - - - -Step 3. The user executes `add n/David …​` to add a new person. The `add` command also calls `Model#commitAddressBook()`, causing another modified address book state to be saved into the `addressBookStateList`. - - - - - -**Note:** If a command fails its execution, it will not call `Model#commitAddressBook()`, so the address book state will not be saved into the `addressBookStateList`. - - - -Step 4. The user now decides that adding the person was a mistake, and decides to undo that action by executing the `undo` command. The `undo` command will call `Model#undoAddressBook()`, which will shift the `currentStatePointer` once to the left, pointing it to the previous address book state, and restores the address book to that state. - - - - - - -**Note:** If the `currentStatePointer` is at index 0, pointing to the initial SocialBook state, then there are no previous SocialBook states to restore. The `undo` command uses `Model#canUndoAddressBook()` to check if this is the case. If so, it will return an error to the user rather -than attempting to perform the undo. - - - -The following sequence diagram shows how an undo operation goes through the `Logic` component: - - - - - -**Note:** The lifeline for `UndoCommand` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram. - - - -Similarly, how an undo operation goes through the `Model` component is shown below: - - - -The `redo` command does the opposite — it calls `Model#redoAddressBook()`, which shifts the `currentStatePointer` once to the right, pointing to the previously undone state, and restores the address book to that state. - - - -**Note:** If the `currentStatePointer` is at index `addressBookStateList.size() - 1`, pointing to the latest address book state, then there are no undone SocialBook states to restore. The `redo` command uses `Model#canRedoAddressBook()` to check if this is the case. If so, it will return an error to the user rather than attempting to perform the redo. - - - -Step 5. The user then decides to execute the command `list`. Commands that do not modify the address book, such as `list`, will usually not call `Model#commitAddressBook()`, `Model#undoAddressBook()` or `Model#redoAddressBook()`. Thus, the `addressBookStateList` remains unchanged. - - - -Step 6. The user executes `clear`, which calls `Model#commitAddressBook()`. Since the `currentStatePointer` is not pointing at the end of the `addressBookStateList`, all address book states after the `currentStatePointer` will be purged. Reason: It no longer makes sense to redo the `add n/David …​` command. This is the behavior that most modern desktop applications follow. - - - -The following activity diagram summarizes what happens when a user executes a new command: - - - -#### Design considerations: - -**Aspect: How undo & redo executes:** - -* **Alternative 1 (current choice):** Saves the entire address book. - * Pros: Easy to implement. - * Cons: May have performance issues in terms of memory usage. - -* **Alternative 2:** Individual command knows how to undo/redo by - itself. - * 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 From db8876f172574e5a57b4050c37ac6eba5f1b3009 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Tue, 12 Nov 2024 09:10:46 +0800 Subject: [PATCH 12/13] Update docs with requested changes --- docs/DeveloperGuide.md | 4 ++-- docs/UserGuide.md | 4 ++-- docs/diagrams/LogicClassDiagram.puml | 6 +++--- docs/diagrams/ParserClasses.puml | 6 +++--- docs/diagrams/SeedActivityDiagram.puml | 2 +- docs/diagrams/ViewActivityDiagram.puml | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 302b937ff62..cbc24ae5e55 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -164,7 +164,7 @@ This section describes some noteworthy details on how certain features are imple The seed feature seeds dummy data into SocialBook. In the event that the user clears all the contacts in SocialBook, the user can execute the seed command to seed sample data into the SocialBook and continue trying out its features. -The seed command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#Logic-component). +The seed command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#logic-component). The seed command adds a `Person` object, in `SampleDataUtil` to the `Model`, if the `Person` object is not already inside SocialBook. @@ -178,7 +178,7 @@ The following activity diagram summarises what happens when a user executes the The view feature toggles the card status of a contact in SocialBook to either show all of their information or an abridged version of it. -The view command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#Logic-component). +The view command works just like any other `Command` object and how a `Command` object communicates with the `Model` is explained in the [Logic component](#logic-component). The activity diagram below shows how a view command toggles the card status of a contact: diff --git a/docs/UserGuide.md b/docs/UserGuide.md index b951c21e31b..2f6db73ec8c 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 are a social worker and can type fast, SocialBook can get your contact management tasks (eg. locate/contact families) done faster than traditional GUI apps. +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 are a social worker based in Singapore and can type fast, SocialBook can get your contact management tasks (eg. locate/contact families) done faster than traditional GUI apps. @@ -302,7 +302,7 @@ _Details coming soon ..._ ### 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 and follows the ISO-8601 calendar system. +* 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. diff --git a/docs/diagrams/LogicClassDiagram.puml b/docs/diagrams/LogicClassDiagram.puml index dc63d6c948c..07a08af7418 100644 --- a/docs/diagrams/LogicClassDiagram.puml +++ b/docs/diagrams/LogicClassDiagram.puml @@ -29,10 +29,10 @@ HiddenOutside ..> Logic LogicManager .right.|> Logic LogicManager -right->"1" ParserClasses -ParserClasses ..> XYZCommand : create > +ParserClasses ..> XYZCommand : creates > XYZCommand -up-|> Command -LogicManager .left.> Command : call > +LogicManager .left.> Command : calls > LogicManager --> Model LogicManager --> Storage @@ -43,5 +43,5 @@ note right of XYZCommand: XYZCommand = AddCommand, \nFindCommand, etc Logic ..> CommandResult LogicManager .down.> CommandResult -Command .up.> CommandResult : create > +Command .up.> CommandResult : creates > @enduml diff --git a/docs/diagrams/ParserClasses.puml b/docs/diagrams/ParserClasses.puml index 83506318828..adf1e492903 100644 --- a/docs/diagrams/ParserClasses.puml +++ b/docs/diagrams/ParserClasses.puml @@ -21,10 +21,10 @@ Class Prefix Class HiddenOutside #FFFFFF HiddenOutside ..> AddressBookParser -AddressBookParser .down.> XYZCommandParser: create > +AddressBookParser .down.> XYZCommandParser: creates > -XYZCommandParser ..> XYZCommand : create > -AddressBookParser ..> Command : use > +XYZCommandParser ..> XYZCommand : creates > +AddressBookParser ..> Command : uses > XYZCommandParser .up.|> Parser XYZCommandParser ..> ArgumentMultimap XYZCommandParser ..> ArgumentTokenizer diff --git a/docs/diagrams/SeedActivityDiagram.puml b/docs/diagrams/SeedActivityDiagram.puml index 0f200fcc4aa..d8e46cbc229 100644 --- a/docs/diagrams/SeedActivityDiagram.puml +++ b/docs/diagrams/SeedActivityDiagram.puml @@ -10,7 +10,7 @@ if () then ([model.hasPerson()]) else ([else]) :add person to model; endif -repeat while () is ([end of for loop == false]) not ([else]) +repeat while () is ([else]) not ([all sample persons in model]) stop @enduml diff --git a/docs/diagrams/ViewActivityDiagram.puml b/docs/diagrams/ViewActivityDiagram.puml index af6aad5e083..96a8b5fad84 100644 --- a/docs/diagrams/ViewActivityDiagram.puml +++ b/docs/diagrams/ViewActivityDiagram.puml @@ -13,7 +13,7 @@ if () then ([valid person's index]) of card; endif else ([else]) - :throw new CommandException(); + :throw exception; endif stop From 92d507840d8e0636bc2e6887f05712027879a6f3 Mon Sep 17 00:00:00 2001 From: rayray39 Date: Tue, 12 Nov 2024 09:15:26 +0800 Subject: [PATCH 13/13] Update date of last visit format in UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 2f6db73ec8c..906e8707689 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -302,7 +302,7 @@ _Details coming soon ..._ ### 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 and range of dates follows the [ISO-8601 calendar system](https://en.wikipedia.org/wiki/ISO_8601). +* 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.