Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
ReganChoy committed Mar 5, 2024
2 parents 1fea686 + 0c737d7 commit 9724277
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 24 deletions.
10 changes: 5 additions & 5 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`

* Role: Project Advisor

### Jane Doe
### Ge Shuqing

<img src="images/johndoe.png" width="200px">
<img src="images/getsquared.png" width="200px">

[[github](http://github.com/johndoe)]
[[portfolio](team/johndoe.md)]
[[github](http://github.com/getsquared)]
[[portfolio](team/shuqing.md)]

* Role: Team Lead
* Role: Integration + Documentation
* Responsibilities: UI

### Johnny Doe
Expand Down
62 changes: 44 additions & 18 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -274,42 +274,65 @@ _{Explain here how the data archiving feature will be implemented}_

**Target user profile**:

* has a need to manage a significant number of contacts
* has a need to manage a significant number of clients for insurance policies
* has a need to organise schedules with clients and their details in one place
* has a need for reminders to keep in touch with clients
* prefer desktop apps over other types
* can type fast
* prefers typing to mouse interactions
* is reasonably comfortable using CLI apps

**Value proposition**: manage contacts faster than a typical mouse/GUI driven app
**Value proposition**: conveniently manage client details and schedules faster than a typical mouse/GUI driven app


### User stories

Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`

| Priority | As a …​ | I want to …​ | So that I can…​ |
|----------|--------------------------------------------|------------------------------|------------------------------------------------------------------------|
| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App |
| `* * *` | user | add a new person | |
| `* * *` | user | delete a person | remove entries that I no longer need |
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
| Priority | As a …​ | I want to …​ | So that I can…​ |
|----------|-----------------|---------------------------------------------------------------|-----------------------------------------------------------------------|
| `* * *` | insurance agent | see usage instructions | refer to instructions when I forget how to use the App |
| `* * *` | insurance agent | add a new client contact details | keep track of the clients I have |
| `* * *` | insurance agent | delete a client | remove clients that are leaving |
| `* * *` | insurance agent | find a client by name | locate details of client without having to go through the entire list |
| `* *` | insurance agent | view client information | know and check client details |
| `* *` | insurance agent | check what schedules I have with clients on a particular date | keep track of what I have to do in a day |
| `* *` | insurance agent | add the birthday of my clients | wish them happy birthday to keep in contact with them |
| `* *` | insurance agent | delete policy details for a client | remove expired policies of the client |
| `* *` | insurance agent | see when I last met a client | check in on a client that I have not met for a long time |
| `* *` | insurance agent | mark that a schedule is completed | know that i fulfilled the appointment scheduled |
| `*` | insurance agent | sort clients by priority | deal with client with higher priority status first |

*{More to be added}*

### Use cases

(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
(For all use cases below, the **System** is the `ClientCare` and the **Actor** is the `user`, unless specified otherwise)

**Use case: Delete a person**
**Use case: Find a client by name**

**MSS**

1. User requests to list persons
2. AddressBook shows a list of persons
3. User requests to delete a specific person in the list
4. AddressBook deletes the person
1. User requests to find a specific client in the list by name
2. ClientCare shows list of client that matches the name

Use case ends.

**Extensions**

* 2a. The list is empty as there is no matching name found.

Use case ends.


**Use case: Delete a client**

**MSS**

1. User requests to list clients or find client by name
2. ClientCare shows a list of clients
3. User requests to delete a specific client in the list by index
4. ClientCare deletes the client

Use case ends.

Expand All @@ -321,7 +344,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

* 3a. The given index is invalid.

* 3a1. AddressBook shows an error message.
* 3a1. ClientCare shows an error message.

Use case resumes at step 2.

Expand All @@ -332,13 +355,16 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
4. The system should respond to user input within 2 seconds.

*{More to be added}*

### Glossary

* **Client**: Customers or potential customers the insurance agent wants to keep in contact with
* **Command Line Interface (CLI)**: A text-based interface to input commands to interact with the system
* **Mainstream OS**: Windows, Linux, Unix, MacOS
* **Private contact detail**: A contact detail that is not meant to be shared with others
* **AddressBook**: The underlying system that ClientCare is built on. Interchangeable with ClientCare.

--------------------------------------------------------------------------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/_markbind/layouts/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<li><a href="{{baseUrl}}/UserGuide.html" class="nav-link">User Guide</a></li>
<li><a href="{{baseUrl}}/DeveloperGuide.html" class="nav-link">Developer Guide</a></li>
<li><a href="{{baseUrl}}/AboutUs.html" class="nav-link">About Us</a></li>
<li><a href="https://github.com/se-edu/addressbook-level3" target="_blank" class="nav-link"><md>:fab-github:</md></a>
<li><a href="https://github.com/AY2324S2-CS2103T-W12-1/tp" target="_blank" class="nav-link"><md>:fab-github:</md></a>
</li>
<li slot="right">
<form class="navbar-form">
Expand Down
Binary file added docs/images/getsquared.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions docs/team/shuqing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
layout: default.md
title: "Shuqing's Project Portfolio Page"
---

### Project: ClientCare

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}_

0 comments on commit 9724277

Please sign in to comment.