Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentations for DG, UG and PPP #290

Merged
merged 4 commits into from
Nov 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
263 changes: 65 additions & 198 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

62 changes: 35 additions & 27 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,16 @@ Click on the relevant links to easily navigate through the guide and access the

### General UI information

Component | Purpose
--------|------------------
**Navigation Bar** | Allows you to exit UNOFAS or view help
**Command Line** | Location to enter commands
**Result Line** | Displays the result after a command is entered
**Contact List** | Displays clients
**Appointment List** | Displays appointments
**Contact Card** | Displays detailed information about a patient
**Appointment Card** | Displays detailed information about an appointment
**Save Location** | Displays the location where your UNOFAS data is stored
| Component | Purpose |
|----------------------|----------------------------------------------------------|
| **Navigation Bar** | Allows you to exit UNOFAS or view help |
| **Command Line** | Location to enter commands |
| **Result Line** | Displays the result after a command is entered |
| **Contact List** | Displays clients |
| **Appointment List** | Displays appointments |
| **Contact Card** | Displays detailed information about a patient |
| **Appointment Card** | Displays detailed information about an appointment |
| **Save Location** | Displays the location where your UNOFAS data is stored |

### Contact Card

Expand Down Expand Up @@ -138,21 +138,26 @@ Below is a table summarising common arguments used in `add`, `edit`, `find`, `sc
to view the arguments' prefix, and their acceptable values. Unless specified, having only space characters i.e an empty
value, is not an acceptable value and will result in a warning.

| Prefix | Argument | Acceptable Values |
|--------|-----------------------|------------------------------------------------------------------------|
| - | INDEX | Number (1 to current size of the contact book) |
| `n/` | NAME | Alphabets, numbers, and space characters only |
| `p/` | PHONE_NUMBER | Numbers only and at least 3 digits long |
| `e/` | EMAIL | Alphabets, numbers, and symbols only in a valid email format |
| `a/` | ADDRESS | Any value is possible |
| `nk/` | NEXT_KIN | Alphabets, numbers, and space characters only |
| `nkp/` | NEXT_KIN_PHONE | Numbers only and at least 3 digits long |
| `fp/` | FINANCIAL_PLAN | Alphabets, numbers, and space characters only. Empty value is accepted |
| `t/` | TAG | Alphabets and numbers only. Empty value is accepted |
| `ap/` | APPOINTMENT_NAME | Alphabets, numbers, and space characters only |
| `d/` | APPOINTMENT_DATE | Format: dd-MM-yyyy (e.g., 31-12-2023) |
| `d/` | APPOINTMENT_DATE_TIME | Format: dd-MM-yyyy HH:mm (e.g., 31-12-2023 14:30) |
| - | KEYWORD | `name` or `appointment` |
| Prefix | Argument | Acceptable Values |
|--------|-----------------------|--------------------------------------------------------------------------------------------------------------------|
| - | INDEX | Number (1 to current size of the contact book) |
| `n/` | NAME | Alphabets, numbers, and space characters only |
| `p/` | PHONE_NUMBER | Numbers only and at least 3 digits long |
| `e/` | EMAIL | Alphabets, numbers, and symbols only in a valid email format |
| `a/` | ADDRESS | Any value is possible. |
| `nk/` | NEXT_KIN | Alphabets, numbers, and space characters only |
| `nkp/` | NEXT_KIN_PHONE | Numbers only and at least 3 digits long |
| `fp/` | FINANCIAL_PLAN | Alphabets, numbers, and space characters only. Empty value is accepted when using [Edit](#editing-a-person--edit). |
| `t/` | TAG | Alphabets and numbers only. Empty value is accepted when using [Edit](#editing-a-person--edit). |
| `ap/` | APPOINTMENT_NAME | Alphabets, numbers, and space characters only |
| `d/` | APPOINTMENT_DATE | Format: dd-MM-yyyy (e.g., 31-12-2023) |
| `d/` | APPOINTMENT_DATE_TIME | Format: dd-MM-yyyy HH:mm (e.g., 31-12-2023 14:30) |
| - | KEYWORD | `name` or `appointment` |

<div markdown="span" class="alert alert-primary">:information_source:
**Do note** If the ADDRESS includes any recognized prefixes (leading space + prefix), users should be careful.
For instance, if the user inputs `a/Blk 285 n/Clementi` for the ADDRESS argument, it will trigger the identification of the prefix `n/` in the input.
</div>

-----------------------
### Viewing help : `help`
Expand Down Expand Up @@ -255,7 +260,8 @@ Tags:`
![result for 'edit 4 n/john doe a/23 woodlands ave 123'](images/editUi.png)

<div markdown="span" class="alert alert-primary">:information_source:
**Do note** that it is possible to add a client's contact with multiple tags by duplicating the `t/` prefix. The same can be done with for financial plans with the `fp/` prefix.
**Do note** that it is possible to edit a client's contact with multiple tags by duplicating the `t/` prefix. The same can be done with for financial plans with the `fp/` prefix.
However, multiple empty values for tags and financial plans are not accepted. For example, `t/ t/` and `fp/ fp/` is not accepted.
</div>

---------------
Expand Down Expand Up @@ -364,6 +370,7 @@ Upon triggering the overriding prompt, until confirmation or cancellation of com
is not allowed (including trying to exit the program).
</div>
----------

### Completing an Appointment : `complete`

Completes an appointment either with the person at the specified `INDEX` or complete all appointments with matching `APPOINTMENT_DATE`.
Expand Down Expand Up @@ -447,7 +454,8 @@ UNOFAS data are saved in the hard disk automatically after any command that chan
UNOFAS data are saved automatically as a JSON file `[JAR file location]/data/addressbook.json`. Advanced users are welcome to update data directly by editing that data file.

<div markdown="span" class="alert alert-warning"> :exclamation: **Caution:**
If your changes to the data file makes its format invalid, UNOFAS will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
If your changes to the data file makes its format invalid, UNOFAS will discard all data and start with an empty data file at the next run.
Certain edits to the file may also cause unexpected behaviours. Please only edit the file if you are confident that it is correct, and it is recommended to take a backup of the file before editing it.
</div>

### Archiving data files `[coming in v2.0]`
Expand Down
35 changes: 5 additions & 30 deletions docs/diagrams/GatherClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,15 @@ skinparam arrowThickness 1.1
skinparam arrowColor MODEL_COLOR
skinparam classBackgroundColor MODEL_COLOR

Class Person {
-email: String
+gatherEmailsContainsFinancialPlan(): String
+gatherEmailsContainsTag(): String
}

Class GatherCommandParser {
+parse(String args): GatherCommand
}

Class GatherCommand {
-gatherPrompt: GatherEmailPrompt
+GatherCommand(GatherEmailPrompt prompt)
+execute(): void
}

Class "<<interface>>\nGatherEmailPrompt" as GatherEmailPrompt {
+gatherEmails(Person person): void
}

Class GatherEmailByFinancialPlan {
- promptFp: String
+gatherEmails(Person person): void
}

Class GatherEmailByTag {
- promptTag: String
+gatherEmails(Person person): void
}
Class GatherCommandParser
Class GatherCommand
Class "<<interface>>\nGatherEmailPrompt" as GatherEmailPrompt
Class GatherEmailByFinancialPlan
Class GatherEmailByTag

GatherCommandParser .down.> GatherCommand : creates >
GatherCommandParser .down.> GatherEmailPrompt : creates >
GatherCommand -right-> "1" GatherEmailPrompt
GatherEmailByFinancialPlan .up.|> GatherEmailPrompt
GatherEmailByTag .up.|> GatherEmailPrompt
GatherEmailPrompt .right.> "1" Person
@enduml
93 changes: 0 additions & 93 deletions docs/diagrams/GatherSequenceDiagram.puml

This file was deleted.

63 changes: 63 additions & 0 deletions docs/diagrams/GatherSequenceDiagram1.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
@startuml
!include style.puml
skinparam ArrowFontStyle plain

box Logic LOGIC_COLOR_T1
participant ":LogicManager" as LogicManager LOGIC_COLOR
participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR
participant ":GatherCommandParser" as GatherCommandParser LOGIC_COLOR
participant "command:GatherCommand" as GatherCommand LOGIC_COLOR
participant ":CommandResult" as CommandResult LOGIC_COLOR
end box

box Model MODEL_COLOR_T1
participant ":Model" as Model MODEL_COLOR
end box

[-> LogicManager : execute("gather fp/Financial Plan A")
activate LogicManager

LogicManager -> AddressBookParser : parseCommand("gather fp/Financial Plan A")
activate AddressBookParser

AddressBookParser -> GatherCommandParser : parse("fp/Financial Plan A")
activate GatherCommandParser

create GatherCommand
GatherCommandParser -> GatherCommand : GatherCommand(prompt)
activate GatherCommand

GatherCommand --> GatherCommandParser : command
deactivate GatherCommand

GatherCommandParser --> AddressBookParser : command
deactivate GatherCommandParser
'Hidden arrow to position the destroy marker below the end of the activation bar.
GatherCommandParser -[hidden]-> AddressBookParser
destroy GatherCommandParser

AddressBookParser --> LogicManager : command
deactivate AddressBookParser

LogicManager -> GatherCommand : execute()
activate GatherCommand

GatherCommand -> Model: gatherEmails(prompt)
activate Model

Model --> GatherCommand: emails (or Empty String)
deactivate Model

create CommandResult
GatherCommand -> CommandResult
activate CommandResult

CommandResult --> GatherCommand
deactivate CommandResult

GatherCommand --> LogicManager: result
deactivate GatherCommand

[<--LogicManager
deactivate LogicManager
@enduml
41 changes: 41 additions & 0 deletions docs/diagrams/GatherSequenceDiagram2.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
@startuml
!include style.puml
skinparam ArrowFontStyle plain

box Model MODEL_COLOR_T1
participant ":ModelManager" as ModelManager MODEL_COLOR
participant ":AddressBook" as AddressBook MODEL_COLOR
participant ":UniquePersonsList" as UniquePersonsList MODEL_COLOR
participant "prompt:GatherEmailByFinancialPlan" as GatherEmailByFinancialPlan MODEL_COLOR
participant ":Person" as Person MODEL_COLOR
end box

[-> ModelManager: gatherEmails(prompt)
activate ModelManager

ModelManager -> AddressBook: gatherEmails(prompt)
activate AddressBook

AddressBook -> UniquePersonsList: gatherEmails(prompt)
activate UniquePersonsList

loop through internalList
UniquePersonsList -> GatherEmailByFinancialPlan: gatherEmails(person)
activate GatherEmailByFinancialPlan
GatherEmailByFinancialPlan -> Person: gatherEmailsContainsFinancialPlan("Financial Plan A")
activate Person
Person --> GatherEmailByFinancialPlan: email (or Empty String)
deactivate Person
GatherEmailByFinancialPlan --> UniquePersonsList: email (or Empty String)
deactivate GatherEmailByFinancialPlan
end loop

UniquePersonsList --> AddressBook: emails (or Empty String)
deactivate UniquePersonsList

AddressBook --> ModelManager: emails (or Empty String)
deactivate AddressBook

[<-- ModelManager : emails (or Empty String)
deactivate ModelManager
@enduml
Binary file modified docs/images/GatherClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/GatherSequenceDiagram.png
Binary file not shown.
Binary file added docs/images/GatherSequenceDiagram1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/GatherSequenceDiagram2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 20 additions & 4 deletions docs/team/alyssapng.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ title: Alyssa Png Kai Wen'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

Expand All @@ -16,19 +18,33 @@ Given below are my contributions to the project.
* Highlights:
* Provides a foundation for future email gathering implementations, paving the way for potential expansions into other fields.
* Required a deep understanding of interfaces and integration with existing codebase.
* Credits:
* Pull request [#72](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/72)

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

* **Enhancements Implemented**: gather command to be able to gather emails by tags.
* **Enhancements Implemented**:
* Gather command to be able to gather emails by tags
* Pull request [#109](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/109)
* Enhancing the UI design for UNOFAS
* Justification: Provide financial advisors with a more intuitive, visually appealing interface, optimizing content visibility to reduce the likelihood of overlooking crucial details.
* Pull request [#151](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/151)

* **Contributions to the UG**:
* Updated Title and Introduction
* Added Argument Summary
* Added documentation for the features `gather`

* **Contributions to the DG**:
* Added target user profile, value proposition, user stories and user cases.
* Added implementation details for gather.
* Added planned enhancement.

* **Contributions to team-based tasks**:
* Release v1.2 JAR file.
* Added screenshots into project notes document.
* Added screenshots into project notes document for v1.2 demo.

* **Review/mentoring contributions**:
* PRs reviewed (with non-trivial commments):
[#108](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/108),
[#90](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/90),
[#133](https://github.com/AY2324S1-CS2103T-F12-1/tp/pull/133)
Loading
Loading