Skip to content

Commit

Permalink
Revert "Update dg v1.1"
Browse files Browse the repository at this point in the history
  • Loading branch information
Jayne1010 authored Mar 5, 2024
1 parent 90d1998 commit c9d0294
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 46 deletions.
21 changes: 9 additions & 12 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,28 +275,26 @@ _{Explain here how the data archiving feature will be implemented}_
**Target user profile**:

* has a need to manage a significant number of contacts
* GPs/receptionist at family clinics to organise patients contacts quickly.
* prefer desktop apps over other types
* can type fast
* prefers typing to mouse interactions
* is reasonably comfortable using CLI apps


**Value proposition**: GPs in private family clinics can be swamped with many patients and it can be overwhelming to keep their contact information organized. Our application makes it easy to view patient contacts at a glance, including important patient information such as medical history, past diagnosis, prescription, and future appointments

**Value proposition**: manage contacts 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 patients | |
| `* * *` | user | add information associated to each patient (including past diagnosis etc.) | easily follow up on the necessary actions and understand the patient better |
| `* * *` | user | search for specific patients | quickly access their information as needed |
| `* * *` | expert user | easily delete unnecessary data to reduce the clutter in the app | maintain a clean and organised patient database |
| 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 |

*{More to be added}*

Expand Down Expand Up @@ -401,4 +399,3 @@ testers are expected to do more *exploratory* testing.
1. _{explain how to simulate a missing/corrupted file, and the expected behavior}_

1. _{ more test cases …​ }_

92 changes: 58 additions & 34 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pageNav: 3
---

# Clinic Mate User Guide
# AB-3 User Guide

Clinic Mate is a **desktop app for managing contacts in a clinic, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Clinic Mate can get manage your patients' contact faster than traditional GUI apps.
AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB3 can get your contact management tasks done faster than traditional GUI apps.

<!-- * Table of Contents -->
<page-nav-print />
Expand All @@ -30,13 +30,13 @@ Clinic Mate is a **desktop app for managing contacts in a clinic, optimized for

* `list` : Lists all contacts.

* `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01` : Adds a contact named `John Doe` to the Address Book.
* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01` : Adds a contact named `John Doe` to the Address Book.

* `delete T0123456A` : Deletes the contact with the IC 'T0123456A' shown in the current list.
* `delete 3` : Deletes the 3rd contact shown in the current list.

* `find T0123456A` : Find the contact with the IC 'T0123456A' shown in the current list.
* `clear` : Deletes all contacts.

* `addnote patient i/T0123456A n/Patient has diabetes` : Add a note: 'Patient has diabetes' for the contact with the IC 'T0123456A' as shown in current list.
* `exit` : Exits the app.

1. Refer to the [Features](#features) below for details of each command.

Expand All @@ -51,8 +51,14 @@ Clinic Mate is a **desktop app for managing contacts in a clinic, optimized for
* Words in `UPPER_CASE` are the parameters to be supplied by the user.<br>
e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`.

* 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`.

* 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.

* Parameters can be in any order.<br>
e.g. if the command specifies `n/NAME i/IC_NUMBER`, `i/IC_NUMBER n/NAME` is also acceptable.
e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.

* Extraneous parameters for commands that do not take in parameters (such as `help`, `list`, `exit` and `clear`) will be ignored.<br>
e.g. if the command specifies `help 123`, it will be interpreted as `help`.
Expand All @@ -62,7 +68,7 @@ Clinic Mate is a **desktop app for managing contacts in a clinic, optimized for

### Viewing help : `help`

Shows a message explaining how to access the help page.
Shows a message explaning how to access the help page.

![help message](images/helpMessage.png)

Expand All @@ -73,54 +79,71 @@ Format: `help`

Adds a person to the address book.

Format: `add n/NAME i/IC_NUMBER ag/AGE s/GENDER a/ADDRESS`
Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​`

<box type="tip" seamless>

**Tip:** A person can have a note included.
**Tip:** A person can have any number of tags (including 0)
</box>

Examples:
* `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01`
* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01`
* `add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal`

### Listing all persons : `list`

Shows a list of all persons in the address book.

Format: `list`

### Adding a note : `addnote`
### Editing a person : `edit`

Add a note to an existing person in the address book
Edits an existing person in the address book.

Format: `addnote i/IC_NUMBER n/NOTE`
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`

* Adds a note to the person with the specified `IC_NUMBER`. The IC number refers to the IC number shown in the displayed person list. The IC_NUMBER **must be the FULL IC NUMBER**.
* 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.
* When adding notes, the existing note of the person will be removed i.e adding of note is not cumulative.
* When editing tags, the existing 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.

Examples:
* `addnote i/T0123456A n/Patient has diabetes` Adds a note `Patient has diabetes` to the person with the IC number `T0123456A` in the address book.
* `edit 1 p/91234567 e/[email protected]` Edits the phone number and email address of the 1st person to be `91234567` and `[email protected]` respectively.
* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags.

### Locating persons by ic number: `find`
### Locating persons by name: `find`

Find an existing person in the address book using their IC_NUMBER.
Finds persons whose names contain any of the given keywords.

Format: `find IC_NUMBER`
Format: `find KEYWORD [MORE_KEYWORDS]`

* The search is case-insensitive. e.g `t0123456a` will match `T0123456A`.
* Only the IC number is searched.
* Only full IC number will be matched e.g. `T0123456A` will not match `T0123A`.
* The search is case-insensitive. e.g `hans` will match `Hans`
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`
* Only the name is searched.
* Only full words will be matched e.g. `Han` will not match `Hans`
* Persons matching at least one keyword will be returned (i.e. `OR` search).
e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`

Examples:
* `find T0123456A` returns `John Doe`.
* `find John` returns `john` and `John Doe`
* `find alex david` returns `Alex Yeoh`, `David Li`<br>
![result for 'find alex david'](images/findAlexDavidResult.png)

### Deleting a person : `delete`

Deletes the specified person from the address book using their IC_NUMBER.
Deletes the specified person from the address book.

Format: `delete IC_NUMBER`
Format: `delete INDEX`

* Deletes the person with the specified `IC_NUMBER`.
* The IC_NUMBER refers to the IC number shown in the displayed person list.
* The IC_NUMBER **must be the FULL IC NUMBER**.
* Deletes 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, …​

Examples:
* `delete T0123456A` deletes `John Doe` from the address book.
* `list` followed by `delete 2` deletes the 2nd person in the address book.
* `find Betsy` followed by `delete 1` deletes the 1st person in the results of the `find` command.

### Clearing all entries : `clear`

Expand Down Expand Up @@ -172,9 +195,10 @@ _Details coming soon ..._

Action | Format, Examples
-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------
**Add** | `add n/NAME i/IC_NUMBER ag/AGE s/GENDER a/ADDRESS` <br> e.g., `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01`
**Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​` <br> e.g., `add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague`
**Clear** | `clear`
**Delete** | `delete IC_NUMBER`<br> e.g., `delete T0123456A`
**AddNote** | `addnote i/IC_NUMBER n/NOTE`<br> e.g., `addnote i/T0123456A n/Patient has diabetes`
**Find** | `find IC_NUMBER`<br> e.g., `find T0123456A`
**Delete** | `delete INDEX`<br> e.g., `delete 3`
**Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`<br> e.g.,`edit 2 n/James Lee e/[email protected]`
**Find** | `find KEYWORD [MORE_KEYWORDS]`<br> e.g., `find James Jake`
**List** | `list`
**Help** | `help`

0 comments on commit c9d0294

Please sign in to comment.