From a8ef6836ada96df2b7afbfe2912d5a37f90ced71 Mon Sep 17 00:00:00 2001 From: Rexong Date: Mon, 7 Nov 2022 22:14:18 +0800 Subject: [PATCH 1/4] Add author in UG, DG and Date class --- docs/DeveloperGuide.md | 10 +++++++++- docs/UserGuide.md | 13 ++++++++----- src/main/java/seedu/address/model/util/Date.java | 6 ++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index cdbc11e8d69..e6a154164a6 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -137,7 +137,7 @@ How the `Logic` component works: 1. The result of the command execution is encapsulated as a `CommandResult` object which is returned from `Logic`. The Sequence Diagram below illustrates the interactions within the `Logic` component for the `execute("addClient n/John Tan p/12345678")` API call. - + ![Interactions Inside the Logic Component for the `addClient n/John Tan p/12345678` Command](images/AddClientSequenceDiagram.png)
:information_source: **Note:** The lifeline for `DeleteClientCommandParser` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram. @@ -222,6 +222,7 @@ We decided to only allow adding of a client with its product only after the prod This is to try and maintain the overall cleanliness and housekeeping of _MyInsuRec_. Suppose we allow the user to add the client with any product name without it already existing in the product list. This might be organized and clean for the first few contacts added, but over time, the product name can get distorted. Shorthand forms may be used in place of the product name, case sensitivity and whitespaces are ignored. With _MyInsuRec_ also placing a focus on allowing users to get an idea of the popularity of each of the products they are selling, it is paramount that the product name stay the same, so as to enable the feature to work. Furthermore, one of the problems we are attempting to solve is the messiness of using traditional Excel spreadsheets. Having this validation check helps to preserve the data added, and thus the user can use the app for a longer time without feeling cluttered. + #### 4.1.2 Birthday constraints Below is the activity diagram that illustrates the process of validating birthday when birthday of a client is added. @@ -258,6 +259,7 @@ Below is an activity diagram that summarises the execution of `viewClient`. ![ViewClientActivityDiagram](images/ViewClientActivityDiagram.png) + #### 4.1.4 Delete Client Syntax: `delClient i/INDEX`, where `INDEX` is an index shown in the client list. @@ -338,6 +340,7 @@ Below is a sequence diagram that illustrates the execution of `addMeeting i/1 st - Cons: The parser will need to have access to the model in order to obtain the referenced client. + #### 4.2.2 Meeting date constraints Below is the activity diagram that illustrates the process of validating meeting date. @@ -348,6 +351,7 @@ We decided to set this constraint on meeting date: 1) Meeting Date is not in the past. + #### 4.2.3 Delete meeting Syntax: `delMeeting i/INDEX`, where `INDEX` is an index shown in the meeting list. @@ -669,6 +673,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *` Use case ends. + #### 6.3.4 Use case: UC4 - Delete a client **MSS** @@ -760,6 +765,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *` Use case ends. + #### 6.3.9 Use case: UC9 - Delete a meeting **MSS** @@ -999,6 +1005,7 @@ testers are expected to do more *exploratory* testing. * Test case: `viewClient 1` * Expected: Prefix for index is not provided, so there will be an invalid command format error. + ### 7.4 Deleting a client
:information_source: **Note:** The function works regardless of the view you are currently in, but it only makes sense to use while you are in the list of clients using `listClient` where the index number of the client can be found.
@@ -1047,6 +1054,7 @@ testers are expected to do more *exploratory* testing. * Test case: `listMeeting adsfadsf` * Expected: The view switches back to the list of meetings, and all three meetings are displayed. Extra parameters are ignored. + ### 7.6 Deleting a Meeting Deleting a meeting while all meetings are being shown diff --git a/docs/UserGuide.md b/docs/UserGuide.md index af6b47f82b6..bb9c3cda31a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -17,7 +17,7 @@ _MyInsuRec_ prioritizes user-friendliness and user experience. As such, interact _MyInsuRec_ is available for the Windows, macOS and Linux operating systems. To get started, simply head over to the [installation guide](#5-installation-guide). This user guide can also serve as a reference for experienced users, with a convenient [command summary](#9-command-summary). -------------------------------------------------------------------------------------------------------------------- - + ## 2. How to use this User Guide Welcome to _MyInsuRec_ User Guide! @@ -35,6 +35,8 @@ Before we go on further, look out for these symbols in the User Guide as they pr | :exclamation: | Yellow | Crucial information needed for proper use of MyInsuRec. This symbol is followed by a label 'Caution'. | | :bulb: | Green | Tips and tricks. This symbol is followed by a label 'Tips and tricks'. | + +
**:information_source: Note:** If you have **not installed** _MyInsuRec_, you can follow the [installation guide](#5-installation-guide) here!
@@ -111,7 +113,7 @@ Beyond individual products, you can also: [Return to the top](#) -------------------------------------------------------------------------------------------------------------------- - + ## 4. User Interface The following subsections introduces the layout of _MyInsuRec_'s user interface. @@ -269,6 +271,7 @@ This section guides you on how to use features available in *MyInsuRec*. We will **Do take some time to read the following note** to better understand how you can use this section! +
**:information_source: Notes about the command format:**
@@ -321,7 +324,7 @@ See [addProduct](#731-adding-a-product-addproduct). ### 7.1 Client commands This subsection covers all client-related commands. - + #### 7.1.1 Add client: `addClient` Add a new client to _MyInsuRec_. @@ -413,7 +416,7 @@ Examples: Screenshot: ![ViewClient](images/features/ViewClient.png) - + #### 7.1.4 Delete client: `delClient` Delete the specified client from _MyInsuRec_. @@ -555,7 +558,7 @@ Examples: Screenshot: ![ViewMeeting](images/features/ViewMeeting.png) - + #### 7.2.4 Delete meeting: `delMeeting` Delete a meeting from _MyInsuRec_. diff --git a/src/main/java/seedu/address/model/util/Date.java b/src/main/java/seedu/address/model/util/Date.java index 3ba091db352..495b2f8df1c 100644 --- a/src/main/java/seedu/address/model/util/Date.java +++ b/src/main/java/seedu/address/model/util/Date.java @@ -7,6 +7,12 @@ import seedu.address.logic.parser.DateKeyword; +//@@author Junweimoo +//Created most of the methods in this class. + +//@@author rexong +//Refactored and abstracted Junweimoo's code to reduce code duplication. + /** * Represents Dates that are used in MyInsuRec */ From b1b119f8e80f10a8aa666361aa0e40165b22215d Mon Sep 17 00:00:00 2001 From: Rexong Date: Mon, 7 Nov 2022 22:25:54 +0800 Subject: [PATCH 2/4] Add empty author tags --- docs/DeveloperGuide.md | 14 ++++++++------ docs/UserGuide.md | 13 +++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e6a154164a6..50bcea2d4c2 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -139,7 +139,7 @@ How the `Logic` component works: The Sequence Diagram below illustrates the interactions within the `Logic` component for the `execute("addClient n/John Tan p/12345678")` API call. ![Interactions Inside the Logic Component for the `addClient n/John Tan p/12345678` Command](images/AddClientSequenceDiagram.png) - +
:information_source: **Note:** The lifeline for `DeleteClientCommandParser` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram.
@@ -234,7 +234,7 @@ We decided to set these 2 constraints on birthday: 1) Birthday should not be in the future. 2) Birthday should not be more than 100 years ago as we feel that client would not be able to buy product due to age limit. - + #### 4.1.3 View client Syntax: `viewClient i/INDEX`, where `INDEX` is an index shown in the client list. @@ -280,7 +280,7 @@ The sequence diagram below illustrates the interactions between the `Logic` and Below is the activity diagram that summarises the execution of `delClient`. ![DeleteClientActivityDiagram](images/DeleteClientActivityDiagram.png) - + #### 4.1.5 Edit Client feature Syntax: `editClient i/INDEX [n/NAME] [p/PHONE_NUMBER] [a/ADDRESS] [e/EMAIL] [b/BIRTHDAY] [pd/PRODUCT]` @@ -380,6 +380,7 @@ _The sequence diagram and activity diagram of `delMeeting` is similar to the dia - Cons: Complex to implement - Considering that the approach taken to develop _MyInsuRec_ is a breath first approach, where we should only build to the point where every iteration is a working product, **Solution 1** is thus chosen as it is easier to implement. However, Solution 2 could be a possible implementation for future iteration. + #### 4.2.4 View meeting Syntax: `viewMeeting i/INDEX`, where `INDEX` is an index shown in the meeting list. @@ -692,7 +693,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *` * 1a1. System shows an error message. Use case ends. - + #### 6.3.5 Use case: UC5 - Edit a client **MSS** @@ -784,7 +785,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *` * 3a1. System shows an error message. Use case ends. - + #### 6.3.10 Use case: UC10 - Edit a meeting **MSS** @@ -1023,7 +1024,7 @@ testers are expected to do more *exploratory* testing. 4. Delete client without parameters * Test case: `delClient` * Expected: No client is deleted. Error regarding invalid command format will be shown. - + ### 7.5 Listing meetings
:information_source: **Note:** The function works regardless of the view you are currently in.
@@ -1073,6 +1074,7 @@ Deleting a meeting while all meetings are being shown * Test case: `delMeeting` * Expected: No meeting is deleted. Error regarding invalid command format will be shown. + ### 7.7 Viewing a meeting
:information_source: **Note:** The function works regardless of the view you are currently in, but it only makes sense to use while you are in the list of meetings using `listMeeting` where the index number of the meeting can be found.
diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bb9c3cda31a..1a77267bad1 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -28,6 +28,7 @@ This guide smooths the learning curve and helps you learn how to use _MyInsuRec_ Before we go on further, look out for these symbols in the User Guide as they provide some important messages you might want to know! + | Symbol | Background color | Meaning | |----------------------|------------------|-------------------------------------------------------------------------------------------------------| | `command` | - | Indicates some command or parameter that can be entered into MyInsuRec. | @@ -59,7 +60,7 @@ We hope that this guide is helpful in smoothing out the learning curve for you! [Return to the top](#) -------------------------------------------------------------------------------------------------------------------- - + ## 3. Overview The following subsections explains some terminology and main features of *MyInsuRec*: @@ -159,7 +160,7 @@ This is the view after executing the `viewMeeting` command. [Return to the top](#) -------------------------------------------------------------------------------------------------------------------- - + ## 5. Installation Guide ### 5.1 System Requirements @@ -312,7 +313,7 @@ This section guides you on how to use features available in *MyInsuRec*. We will e.g. if the command is used as `editClient i/1 n/Smith et/1230` where `et/` is the only invalid parameter, the input by preceding valid parameter `n/` will be read as `Smith et/1230` (this input is invalid because it is not alphanumeric) * All incorrect parameters up until the first valid parameter will be ignored for commands that take in parameters (such as `editClient` and `delMeeting`).
e.g. `delMeeting n/Alex i/1` will be parsed correctly since `i/1` is the first valid parameter and the incorrect parameter `n/Alex` before that is ignored. - +
**:exclamation: Caution:** @@ -358,7 +359,7 @@ Examples: * `addClient n/John Tan p/12345678 e/johntan@insurec.com a/123 ABC ROAD, #11-01 pd/Product1` * Same as above, but with multiple products * `addClient n/John Tan p/12345678 e/johntan@insurec.com a/123 ABC ROAD, #11-01 pd/Product1 pd/Product2 pd/Product3` - + #### 7.1.2 List clients: `listClient` Shows the list of clients in MyInsuRec. @@ -434,7 +435,7 @@ Use case: Examples: * Delete the client with an `INDEX` of 2 * `delClient i/2` - + #### 7.1.5 Edit client: `editClient` Edit details of the specified client. @@ -577,7 +578,7 @@ Use case: Examples: * Delete meeting with an `INDEX` of 2 * `delMeeting i/2` - + #### 7.2.5 Edit meeting: `editMeeting` Edit details of the specified meeting. From ade58ead21f904d4045bd6546b940f969138f69f Mon Sep 17 00:00:00 2001 From: ThomasHoooo Date: Mon, 7 Nov 2022 23:00:15 +0800 Subject: [PATCH 3/4] add authorship --- docs/DeveloperGuide.md | 18 +++++++++--------- docs/UserGuide.md | 12 +++++++----- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 50bcea2d4c2..5132b5d5061 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -234,7 +234,7 @@ We decided to set these 2 constraints on birthday: 1) Birthday should not be in the future. 2) Birthday should not be more than 100 years ago as we feel that client would not be able to buy product due to age limit. - + #### 4.1.3 View client Syntax: `viewClient i/INDEX`, where `INDEX` is an index shown in the client list. @@ -380,7 +380,7 @@ _The sequence diagram and activity diagram of `delMeeting` is similar to the dia - Cons: Complex to implement - Considering that the approach taken to develop _MyInsuRec_ is a breath first approach, where we should only build to the point where every iteration is a working product, **Solution 1** is thus chosen as it is easier to implement. However, Solution 2 could be a possible implementation for future iteration. - + #### 4.2.4 View meeting Syntax: `viewMeeting i/INDEX`, where `INDEX` is an index shown in the meeting list. @@ -397,7 +397,7 @@ Usage Scenario of `viewMeeting`:
_The sequence diagram and activity diagram of `viewMeeting` is similar to the diagrams shown in [`viewClient`](#413-view-client) feature by replacing all occurrence of `client` with `meeting`._ - + #### 4.2.5 List meeting Syntax: `listMeeting [d/PERIOD]` @@ -462,7 +462,7 @@ Below is a sequence diagram that illustrates the execution of `editMeeting i/1 d ### 4.3 `Product`-related features - + #### 4.3.1 Add product Syntax: `addProduct pd/PRODUCT_NAME` @@ -475,14 +475,14 @@ Usage Scenario of `addProduct`: 1) User inputs `addProduct pd/PrudenSure` to add PrudenSure in the product list. -Below is a sequence diagram that illustrates the execution of `listMeeting` command. +Below is a sequence diagram that illustrates the execution of `addProduct` command. ![AddProductSequenceDiagram](images/AddProductSequenceDiagram.png) Below is an activity diagram that summarises the execution of `addProduct`. ![AddProductActivityDiagram](images/AddProductActivityDiagram.png) - + ### 4.4 UI #### 4.4.1 Different view panels @@ -973,7 +973,7 @@ testers are expected to do more *exploratory* testing. 10. Add client with invalid phone number * Test case: `addClient n/Tom p/12345` * Expected: No client will be added. Error regarding the wrong phone input will be shown. - + ### 7.3 Viewing a client
:information_source: **Note:** The function works regardless of the view you are currently in, but it only makes sense to use while you are in the list of clients using `listClient` where the index number of the client can be found. @@ -1074,7 +1074,7 @@ Deleting a meeting while all meetings are being shown * Test case: `delMeeting` * Expected: No meeting is deleted. Error regarding invalid command format will be shown. - + ### 7.7 Viewing a meeting
:information_source: **Note:** The function works regardless of the view you are currently in, but it only makes sense to use while you are in the list of meetings using `listMeeting` where the index number of the meeting can be found.
@@ -1104,7 +1104,7 @@ Deleting a meeting while all meetings are being shown 7. View meeting without using prefix * Test case: `viewMeeting 1` * Expected: Prefix for index is not provided, so there will be an invalid command format error. - + ### 7.8 Adding a product
:information_source: **Note:** The function works regardless of the view you are currently in.
diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1a77267bad1..75c654dc4bf 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -359,7 +359,7 @@ Examples: * `addClient n/John Tan p/12345678 e/johntan@insurec.com a/123 ABC ROAD, #11-01 pd/Product1` * Same as above, but with multiple products * `addClient n/John Tan p/12345678 e/johntan@insurec.com a/123 ABC ROAD, #11-01 pd/Product1 pd/Product2 pd/Product3` - + #### 7.1.2 List clients: `listClient` Shows the list of clients in MyInsuRec. @@ -397,6 +397,7 @@ Examples: * Extraneous parameters will not be taken into account. For example, `listClient n/Alex` will be considered as `listClient` without any error messages.
+ #### 7.1.3 View client: `viewClient` @@ -539,6 +540,7 @@ Examples:
**:exclamation: Caution:** Extraneous parameters will not be taken into account. For example, `listMeeting n/Alex` will be considered as `listMeeting` without any error messages.
+ #### 7.2.3 View meeting: `viewMeeting` @@ -603,7 +605,7 @@ Examples: ### 7.3 Product commands This subsection covers all product-related commands. - + #### 7.3.1 Add product: `addProduct` Add a new product to MyInsuRec. @@ -621,7 +623,7 @@ Use Case: Examples: * Add product with product name of 'Product1' * `addProduct pd/Product1` - + #### 7.3.2 List products: `listProduct` Show the list of products in MyInsuRec. @@ -752,7 +754,7 @@ Add the product to the client using the [`editClient`](#715-edit-client-editclie [Return to the top](#) -------------------------------------------------------------------------------------------------------------------- - + ## 9. Command summary | Action | Format | Examples | @@ -773,7 +775,7 @@ Add the product to the client using the [`editClient`](#715-edit-client-editclie | [**Help**](#741-view-help-help) | `help` | `help` | | [**Exit**](#742-exit-myinsurec-exit) | `exit` | `exit` | | [**Clear**](#743-clear-myinsurec-clear) | `clear` | `clear` | - + [Return to the top](#) -------------------------------------------------------------------------------------------------------------------- From 6fb9dc2f99ff58af812cde564636dd91c1299aab Mon Sep 17 00:00:00 2001 From: ThomasHoooo Date: Mon, 7 Nov 2022 23:03:45 +0800 Subject: [PATCH 4/4] fix typo --- docs/team/thomashoooo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/team/thomashoooo.md b/docs/team/thomashoooo.md index f9e34c09438..b48a8dbe098 100644 --- a/docs/team/thomashoooo.md +++ b/docs/team/thomashoooo.md @@ -49,7 +49,7 @@ Given below are my contributions to the project. * PRs reviewed within the team (with non-trivial review comments): [#177](https://github.com/AY2223S1-CS2103T-W16-4/tp/pull/177), [#178](https://github.com/AY2223S1-CS2103T-W16-4/tp/pull/178), [#183](https://github.com/AY2223S1-CS2103T-W16-4/tp/pull/183), [#186](https://github.com/AY2223S1-CS2103T-W16-4/tp/pull/168), * **Tools**: - * Integrated CodeDev into the team repo + * Integrated Codecov into the team repo * Set up Github pages for Jekyll * **Code contributed**: [RepoSense link](https://nus-cs2103-ay2223s1.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2022-09-16&tabOpen=true&tabType=authorship&zFR=false&tabAuthor=ThomasHoooo&tabRepo=AY2223S1-CS2103T-W16-4%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false)