Skip to content

Commit

Permalink
Merge pull request #211 from sopa301/branch-doc-PPP
Browse files Browse the repository at this point in the history
Branch doc ppp
  • Loading branch information
sopa301 authored Nov 6, 2023
2 parents d685b44 + 4e6d7a5 commit 5ef3b7a
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 33 deletions.
13 changes: 13 additions & 0 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -721,6 +721,19 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
8. All features added to the code should be tested.
9. All commands should be able to be executed by a financial advisor with little technical knowledge.

### Planned Enhancements
1. The current `schedule` command does not check if the given date is before the current date, so it is vulnerable to
user error. We plan to make the command check for the date and fail if the date is before the current date: `Date given
cannot be before the current date`.
2. The current `phone` and `next-of-kin phone` fields currently only accepts numbers. It cannot accept international
number formats. We plan to make the fields accept symbols so numbers such as `+6598765432` and `001-234-1-4610818`
will be accepted. This will involve changing the validity checker for both fields.
3. The current contact book does not check for duplicates beyond the exact matching of the person's `name`.
We plan to refuse adding/editing of a person's details if it results in two people sharing a `name` (case-insensitive)
or `phone` since two people are very unlikely to share those details.
4. The current `name` and `next-of-kin name` fields currently do not accept symbols. We plan to make the fields accept
symbols so that names like `Thaarshen s/o Thaarshen` and `O'Brien` are accepted. This will involve changing the
validity checker for both fields.

*{More to be added}*

Expand Down
60 changes: 35 additions & 25 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ Click on the relevant links to easily navigate through the guide and access the
* Items in square brackets are optional.<br>
e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`.

* Unless explicitly allowed, blank inputs or inputting any number of spaces as an argument for a field is invalid.

* Items with ``​ after them can be used multiple times including zero times.<br>
e.g. `[t/TAG]…​` can be used as ` ` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.

Expand Down Expand Up @@ -112,15 +114,20 @@ number) into contact book.

Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [fp/FINANCIAL_PLAN] [t/TAG]…​`

* Adding a person with the exact same name (case-sensitive) as a person currently in the contact book will cause the
command to fail.
* To prevent accidentally adding duplicates, you can use [Find](#locating-persons-by-name-financial-plan-andor-tag--find)
to check if you have already added the person already.

Acceptable Values:
1. NAME - any value is possible
2. PHONE_NUMBER - Numbers (0-9) and symbols, but no alphabets
1. NAME - Alphanumeric or space characters only
2. PHONE_NUMBER - Numbers (0-9) only and at least 3 digits long
3. EMAIL - string in valid email format
4. ADDRESS - any value is possible
5. NEXT_KIN - any value is possible
6. NEXT_KIN_PHONE - Numbers (0-9), and symbols, no alphabets
7. FINANCIAL_PLAN - Alphanumeric or Space characters
8. TAG - Alphanumeric
5. NEXT_KIN - Alphanumeric or space characters only
6. NEXT_KIN_PHONE - Numbers (0-9) only and at least 3 digits long
7. FINANCIAL_PLAN - Alphanumeric or space characters only
8. TAG - Alphanumeric characters only

<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
A person can have any number of Financial Plans (including 0)
Expand Down Expand Up @@ -163,6 +170,8 @@ Format: `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NE
* Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index **must be a positive integer** 1, 2, 3, …​
* At least one of the optional fields must be provided.
* Existing values will be updated to the input values.
* Editing the name of a person to be the exact same name as another person currently in the contact book
(case-sensitive) will cause the command to fail.
* When editing financial plans or tags, the existing financial plans or tags of the person will be removed i.e adding of tags is not cumulative.
* You can remove all the person’s tags by typing `t/` without
specifying any tags after it.
Expand All @@ -172,14 +181,14 @@ Format: `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NE

Acceptable Values:
1. ENTRY_INDEX - Number (1 to current size of the contact book)
2. NAME - any value is possible
3. PHONE_NUMBER - Numbers (0-9) and symbols, no alphabets
2. NAME - Alphanumeric or space characters only
3. PHONE_NUMBER - Numbers (0-9) only and at least 3 digits long
4. EMAIL - string in valid email format
5. ADDRESS - any value is possible
6. NEXT_KIN - any value is possible
7. NEXT_KIN_PHONE - Numbers (0-9), and symbols, no alphabets
8. FINANCIAL_PLAN - Alphanumeric or Space characters
9. TAG - Alphanumeric
6. NEXT_KIN - Alphanumeric or space characters only
7. NEXT_KIN_PHONE - Numbers (0-9) only and at least 3 digits long
8. FINANCIAL_PLAN - Alphanumeric or space characters only
9. TAG - Alphanumeric characters only

Examples:
* `edit 4 n/john doe a/23 woodlands ave 123` Edits the name and address of the 1st person to be `john doe` and `woodlands ave 123` respectively.
Expand All @@ -205,6 +214,7 @@ Finds persons whose names, tags or financial plans contain any of the specified
Format: `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`

* At least one of the optional fields must be provided.
* This command will ignore other prefixes. Using them anyway can cause undefined behaviour.
* The search is case-insensitive. e.g `hans` will match `Hans`
* For names, only full words will be matched e.g. `Han` will not match `Hans`
* Calling this command on a sorted list will retain the sorted quality of the list.
Expand Down Expand Up @@ -368,17 +378,17 @@ _Details coming soon ..._

## Command summary

| Action | Format, Examples |
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [t/TAG]…​` <br> e.g., `add n/John p/80101010 e/[email protected] a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202 [t/TAG]…​` |
| **Clear** | `clear` |
| **Delete** | `delete INDEX`<br> e.g., `delete 3` |
| **Edit** | `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [t/TAG]…​`<br> e.g.,`edit 1 n/john doe a/23 woodlands ave 123` |
| **Find** | `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g., `find n/James n/Jake` |
| **Gather** | `gather [fp/FINANCIAL PLAN]` or `gather [t/TAG]` <br> e.g., `gather fp/Basic Insurance Plan` |
| **Schedule** | `schedule ENTRY_INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`<br> e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` |
| **Complete** | `complete [ENTRY_INDEX] [d/APPOINTMENT_DATE]` <br> e.g `complete 1` <br> e.g `complete 01-05-2023` | |
| **List** | `list` |
| **Help** | `help` |
| **Sort** | `sort SORTING_FUNCTION` <br> e.g., `sort appointment` |
| Action | Format, Examples |
|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS nk/NEXT_KIN nkp/NEXT_KIN_PHONE [t/TAG]…​` <br> e.g., `add n/John p/80101010 e/[email protected] a/Punggol Central Blk 444 #15-32 820123 nk/Brennan nkp/82020202` |
| **Clear** | `clear` |
| **Delete** | `delete INDEX`<br> e.g., `delete 3` |
| **Edit** | `edit ENTRY_INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [nk/NEXT_KIN] [nkp/NEXT_KIN_PHONE] [t/TAG]…​`<br> e.g.,`edit 1 n/john doe a/23 woodlands ave 123` |
| **Find** | `find [n/NAME]…​ [fp/FINANCIAL_PLAN]…​ [t/TAG]…​`<br> e.g., `find n/James n/Jake` |
| **Gather** | `gather [fp/FINANCIAL PLAN]` or `gather [t/TAG]` <br> e.g., `gather fp/Basic Insurance Plan` |
| **Schedule** | `schedule ENTRY_INDEX ap/APPOINTMENT_NAME d/APPOINTMENT_DATE`<br> e.g. `schedule 1 ap/Annual review of financial goals d/20-11-2023 15:00` |
| **Complete** | `complete [ENTRY_INDEX] [d/APPOINTMENT_DATE]` <br> e.g `complete 1` <br> e.g `complete 01-05-2023` | |
| **List** | `list` |
| **Help** | `help` |
| **Sort** | `sort SORTING_FUNCTION` <br> e.g., `sort appointment` |

35 changes: 28 additions & 7 deletions docs/team/sopa301.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,40 @@ title: Poon Yip Hang, Ryan's Project Portfolio Page

### Overview

To be added soon.
UNOFAS is a desktop app for Financial Advisors (FA) to manage client’s contacts, optimized for use via a Command Line
Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). The app also includes features
such as sorting, scheduling and other commands to query information quickly required by the FA.

### Summary of Contributions

Given below are my contributions to the project.

* **Code Contributed**: [RepoSense](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=sopa301&breakdown=true)
* **Code Contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=sopa301&breakdown=true)

* **Enhancements Implemented**: Added Next-of-kin and Next-of-kin phone fields, added confirm clear window, added available
keywords for help command.
* **Enhancements Implemented**:
* Added `next-of-kin` and `next-of-kin phone` fields and wrote tests
(Pull request [#43](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/43))
* Added confirm clear window for `clear` command
(Pull request [#75](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/75))
* Added available keywords for `help` command
(Pull request [#67](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/67))
* Enhanced `find` command to accept multiple names, tags and financial plans and wrote tests
(Pull request [#125](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/125))

* **Contributions to the UG**: Updated commands for add, clear, edit and help.
* **Contributions to the UG**:
* Updated commands for `add`, `clear`, `edit`, `find` and `help`.

* **Contributions to the DG**: to be added soon.
* **Contributions to the DG**:
* Added implementation details for enhanced `find` command.
* Drafted Planned Enhancements section.

* **Contributions to team-based tasks**:
* Maintained issue tracker.
* Released product for `v1.1` and `v1.3.trial`.

* **Review/mentoring contributions**:
* PRs reviewed (with non-trivial comments): [#70](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/70),
[#72](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/72),
[#109](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/109),
[#110](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/110)

* **Contributions to team-based tasks**: Maintained issue tracker.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public class HelpCommand extends Command {
public static final String SHOWING_HELP_MESSAGE = "Opened help window. Available keywords:\n"
+ AddCommand.COMMAND_WORD + ", "
+ ClearCommand.COMMAND_WORD + ", "
+ CompleteCommand.COMMAND_WORD + ", "
+ DeleteCommand.COMMAND_WORD + ", "
+ EditCommand.COMMAND_WORD + ", "
+ ExitCommand.COMMAND_WORD + ", "
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/seedu/address/model/tag/Tag.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
*/
public class Tag {

public static final String MESSAGE_CONSTRAINTS = "Tags names should be alphanumeric";
public static final String MESSAGE_CONSTRAINTS = "Tags names should be alphanumeric only";
public static final String VALIDATION_REGEX = "\\p{Alnum}+";

public final String tagName;
Expand Down

0 comments on commit 5ef3b7a

Please sign in to comment.