From 5423c9f901c2420ce1ff79859a0447a13507faa1 Mon Sep 17 00:00:00 2001 From: Rachel Tai Ke Jia Date: Mon, 11 Nov 2024 16:53:28 +0800 Subject: [PATCH 1/3] Standaridise image sizes --- docs/UserGuide.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 55c466ddab4..327e20b1dba 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -466,7 +466,7 @@ You can find person(s) whose **names** contain any of the given keywords. - `find person n/John` returns `john` and `John Doe` - `find person n/alex david` returns `Alex Yeoh`, `David Li`

- ![result for 'find person alex david'](images/findAlexDavidResult.png) + Find persons result @@ -561,14 +561,14 @@ An **appointment** is defined by several fields. The fields and their correspond | **Sickness** | `s/` | Yes | No | At least one alphabetic character | | **Medicine** | `m/` | Yes | No | At least one alphabetic character | -You can manage the appointments through different commands, which can be seen in the table below: - **Notes:** 1. The date and time inputs are resolved "smartly" - meaning that certain incorrect dates will be allowed, e.g. `2025-02-29 12:00` will be parsed as `2024-02-28 12:00`.
+You can manage the appointments through different commands, which can be seen in the table below: + | Action | Format | Examples | |--------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------| | **[Add appointment](#adding-an-appointment-add-appt)** | `add appt i/PERSON_ID d/DATE_TIME ty/APPOINTMENT_TYPE [s/SICKNESS] [m/MEDICINE]`

| `add appt i/1 d/2024-12-01 09:30 ty/Consulation s/Diabetes m/Insulin` | @@ -658,10 +658,6 @@ You can an existing appointment in appointment book. - `edit appt 3 d/2024-12-05 13:00 m/Budesonide` edits the date and time and the medicine to be `2024-12-05 13:00` and `Budesonide` respectively. -
- -
- **Navigate back to the subsections here:** @@ -687,13 +683,7 @@ You can find appointments whose person names and / or dates contain any of the g **Examples**: - `find appt n/John` returns appointments with patients named `John`. - `find appt d/2024-12-05` returns appointments on `2024-12-05`. -- `find appt n/John d/2024-12-05` returns appointments with patients named `John`, and is on `2024-12-05`. - -
- -![result for 'find appt John and 2024-12-05'](images/findApptExample.png) - -
+- `find appt n/John d/2024-12-05` returns appointments with patients named `John`, and is on `2024-12-05`.

![result for 'find appt John and 2024-12-05'](images/findApptExample.png) From 14537ed1985c90ddc3811b12d8514560be8cacf5 Mon Sep 17 00:00:00 2001 From: Rachel Tai Ke Jia Date: Mon, 11 Nov 2024 16:56:19 +0800 Subject: [PATCH 2/3] Update message for unknown command --- docs/DeveloperGuide.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 62803f60e28..276b57c537b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1092,7 +1092,11 @@ testers are expected to do more *exploratory* testing. ## **Appendix: Planned enhancements** Team size: 5 -1. +1. **When an invalid command is entered, suggest possible valid commands.** + * **Flaw:** When a user types an unknown command, the result display box shows `Unknown Command`, which is not informative. + * **Enhancement:** The result display box will suggest possible valid commands for the user to enter. + * **Sample Input:** User enters: `sort` + * **Expected Output:** The result display box shows `Unknown Command. Did you mean: list, find, clear, add, edit, delete, exit, or help?`
From 10119ca133b9d14ceeae1239f54d74f2937fd434 Mon Sep 17 00:00:00 2001 From: Rachel Tai Ke Jia Date: Mon, 11 Nov 2024 21:31:54 +0800 Subject: [PATCH 3/3] Update UG with main --- docs/UserGuide.md | 126 ++++++++++++++++++++++------------------------ 1 file changed, 60 insertions(+), 66 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e3677c40a9e..ba1afc5388b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,7 +1,7 @@ --- layout: default.md - title: "User Guide" - pageNav: 3 + title: "User Guide" + pageNav: 3 ---
@@ -132,21 +132,21 @@ Having a problem? Read here to see some common issues that may arise while you a ## **Quick start** 1. Ensure you have Java `17` or above installed in your computer. - - To install `Java 17`, download Java. Refer to the [guide for installing Java](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). - - Alternatively, download it from [here](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html). - - To check your Java version, refer [here](https://www.java.com/en/download/help/version_manual.html#). + - To install `Java 17`, download Java. Refer to the [guide for installing Java](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). + - Alternatively, download it from [here](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html). + - To check your Java version, refer [here](https://www.java.com/en/download/help/version_manual.html#).
-2. You can download our latest release file from [here](https://github.com/AY2425S1-CS2103T-W10-2/tp/releases). It - is a `.jar` file. For more information, you can refer to: - - [What is a JAR file?](https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jarGuide.html) - - [How to run a JAR file](https://stackoverflow.com/questions/5774970/run-jar-file-in-command-prompt). +2. You can download our latest release file from [here](https://github.com/AY2425S1-CS2103T-W10-2/tp/releases). It + is a `.jar` file. For more information, you can refer to: + - [What is a JAR file?](https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jarGuide.html) + - [How to run a JAR file](https://stackoverflow.com/questions/5774970/run-jar-file-in-command-prompt).
-3. Copy the file to the folder you want to use as the _home folder_ for your DocTrack application. - - The DocTrack application will create a `data` folder in this _home folder_ to store your [data files](#faq). +3. Copy the file to the folder you want to use as the _home folder_ for your DocTrack application. + - The DocTrack application will create a `data` folder in this _home folder_ to store your [data files](#faq).
@@ -155,8 +155,8 @@ Having a problem? Read here to see some common issues that may arise while you a cd HOME_FOLDER java -jar DocTrack.jar ``` - **_Example:_** if you copied `DocTrack.jar` into the folder `C:/Users/user/Documents`, - run the commands: + **_Example:_** if you copied `DocTrack.jar` into the folder `C:/Users/user/Documents`, + run the commands: ``` cd C:/Users/user/Documents java -jar DocTrack.jar @@ -172,13 +172,13 @@ Having a problem? Read here to see some common issues that may arise while you a 6. Type the command in the command box, which is indicated by `Enter command here...`. Press `Enter` to execute it.
_**Example:** Typing **`help`** and pressing `Enter` will open the help window._
- + Some other examples of commands you can enter: - * `list person` : Lists all contacts. - * `add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering` : Adds a contact named `John Doe` to the Address Book. - * `delete person 3` : Deletes the 3rd contact shown in the current list. - * `clear person` : Deletes all contacts. - * `exit` : Exits the app. + * `list person` : Lists all contacts. + * `add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering` : Adds a contact named `John Doe` to the Address Book. + * `delete person 3` : Deletes the 3rd contact shown in the current list. + * `clear person` : Deletes all contacts. + * `exit` : Exits the app.
@@ -192,11 +192,11 @@ This would be a good time to run the `clear person` command, to start afresh wit
-7. You can refer to the Command Overview below for details of each command. +7. You can refer to the Command Overview below for details of each command. * You can also go to the specific subsections: - Person commands - Appointment commands - General commands + Person commands + Appointment commands + General commands
@@ -208,9 +208,9 @@ This would be a good time to run the `clear person` command, to start afresh wit ## **Interacting with DocTrack** -All interactions with the DocTrack platform are done through a series of **commands** -(explained in Command Overview) entered by you. -- These commands allow you to perform various **tasks**, such as adding, editing, listing, deleting, finding, and clearing persons/appointments. +All interactions with the DocTrack platform are done through a series of **commands** +(explained in Command Overview) entered by you. +- These commands allow you to perform various **tasks**, such as adding, editing, listing, deleting, finding, and clearing persons/appointments. - The commands are designed to be flexible and user-friendly. @@ -221,7 +221,7 @@ Here are some **key points** to keep in mind when you are using the commands: - You should supply **all** the fields (words in **`UPPER_CASE`**) that are needed for a command.
_**Example:** In `add person n/NAME`, **`NAME`** is a field which can be used as `add person n/John Doe`._ -- The **`INDEX`** in command formats like `edit person INDEX` and `delete appt INDEX` refers to the index +- The **`INDEX`** in command formats like `edit person INDEX` and `delete appt INDEX` refers to the index number (shown beside the person or appointment) in the displayed list. The index **must be a positive integer i.e. 1, 2, 3...**
_**Example:** The index of the first person displayed at the top the list is `1`, the index of the second person displayed is `2`, and so on._ @@ -236,9 +236,9 @@ Here are some **key points** to keep in mind when you are using the commands: -**Tip:** +**Tip:** -If you add extraneous fields for commands that do not take in fields (such as `help`, `list person`, +If you add extraneous fields for commands that do not take in fields (such as `help`, `list person`, `list appt`, `exit` and `clear`), they will be ignored.
_**Example:** If the command specifies `help 123`, then it will be interpreted as `help`._ @@ -333,10 +333,10 @@ A **person** is a patient with several fields. The fields and their correspondin **Notes:** **1.** The **email** must have -* a local part containing alphanumeric characters and specific symbols (such as `+` - `_` `.` `-`) (not at the start or end), -* followed by `@`, and a domain part with labels separated by periods, -* ending in a label with at least two alphanumeric characters, +* a local part containing alphanumeric characters and specific symbols (such as `+` + `_` `.` `-`) (not at the start or end), +* followed by `@`, and a domain part with labels separated by periods, +* ending in a label with at least two alphanumeric characters, * and no labels starting or ending with hyphens.
@@ -348,7 +348,7 @@ The **PID** can be seen in the top right corner of their information card, as sh
- You can also manage the patient information through different commands, which can be seen in the table below: +You can also manage the patient information through different commands, which can be seen in the table below: | Action | Format | Examples | |-------------------------------------------------------------|-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| @@ -376,14 +376,14 @@ _**Example:** `t/friend t/likes coding` has 2 tags and it is valid._ **Examples**: -- `add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering` +- `add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering` adds a person named `John Doe` with phone number `98765432`, email `johnd@example.com`, and address `John street, block 123, #01-01`, and status `recovering`. -- `add person n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 st/recovered t/criminal` adds a person named `Betsy Crowe` with email `betsycrowe@example.com`, address `Newgate +- `add person n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 st/recovered t/criminal` adds a person named `Betsy Crowe` with email `betsycrowe@example.com`, address `Newgate Prison`, phone number `1234567`, status `recovered`, and the tags `friend` and `criminal`. -**Note:** Ensure that you enter a **unique name (case-insensitive) and phone number** for the person you are adding. Else, it will be detected as a duplicate, and an error message will be shown. +**Note:** Ensure that you enter a **unique name (case-insensitive) and phone number** for the person you are adding. Else, it will be detected as a duplicate, and an error message will be shown. @@ -392,8 +392,8 @@ _**Example:** `t/friend t/likes coding` has 2 tags and it is valid._ **Navigate back to the subsections here:** -Command overview -Person commands +Command overview +Person commands Appointment commands General commands @@ -442,9 +442,9 @@ Edits an existing patient in DocTrack. **Examples**: -- `list person` followed by `edit person 1 p/91234567 e/johndoe@example.com` edits the phone number and email +- `list person` followed by `edit person 1 p/91234567 e/johndoe@example.com` edits the phone number and email address of the first person in the list to be `91234567` and `johndoe@example.com` respectively. -- `list person` followed by `edit person 2 n/Betsy Crower t/` edits the name of the second person in the list to +- `list person` followed by `edit person 2 n/Betsy Crower t/` edits the name of the second person in the list to be `Betsy Crower` and clears all existing tags. @@ -484,9 +484,9 @@ You can find person(s) whose **names** contain any of the given keywords. **Examples**: -- `find person n/John` returns `john` and `John Doe` +- `find person n/John` returns `john` and `John Doe` - `find person n/alex david` returns `Alex Yeoh`, `David Li`

- Find persons result + ![result for 'find person alex david'](images/findAlexDavidResult.png)
@@ -550,7 +550,7 @@ You can delete all person entries from the patient book. -**Warning:** This action is irreversible. Ensure you have a backup of the patient data before clearing. +**Warning:** This action is irreversible. Ensure you have a backup of the patient data before clearing. Note that this will also clear the appointment data. @@ -589,18 +589,12 @@ An **appointment** is defined by several fields. The fields and their correspond
-**Notes:** - -1. The date and time inputs are resolved "smartly" - meaning that certain incorrect dates will be allowed, e.g. `2025-02-29 12:00` will be parsed as `2025-02-28 12:00`. - - You can identify these appointments uniquely by their **Appointment ID (AID)** for easy reference. The **AID** can be seen in the top right corner of their information card, as shown below:

- * The number indicated beside the appointment name is the **PID** of the person who has the appointment. -
You can manage the appointments through different commands, which can be seen in the table below: @@ -629,7 +623,7 @@ You can manage the appointments through different commands, which can be seen in ##### Adding an appointment: `add appt` -You can add an appointment to DocTrack. +You can add an appointment to DocTrack. **Format**: `add appt i/PERSON_ID ty/APPOINTMENT_TYPE d/DATE_TIME [s/SICKNESS] [m/MEDICINE]` @@ -773,7 +767,7 @@ You can delete a specified appointment from appointment book. **Examples**: - `list appt` followed by `delete appt 2` deletes the second appointment in the list of appointments. -- `find appt d/2024-12-05` followed by `delete appt 1` deletes the first appointment in the results of the +- `find appt d/2024-12-05` followed by `delete appt 1` deletes the first appointment in the results of the `find` command. @@ -864,7 +858,7 @@ You will be able to view a help window that directs you to this user guide. ##### Exiting the program : `exit` -You will be able to exit the DocTrack application. +You will be able to exit the DocTrack application. **Format**: `exit` @@ -891,18 +885,18 @@ The data of the patients and appointments are saved in the hard disk automatical ##### Editing the data file -For advanced users, feel free to update patient and appointment data directly by editing the [data files](#faq) in the +For advanced users, feel free to update patient and appointment data directly by editing the [data files](#faq) in the `data` folder. Learn more here: FAQs. **Caution:** -- If your changes to the data file makes its format invalid, DocTrack will discard all data and start with an empty data file at the next run. Hence, it is recommended that you have a backup of the file before +- If your changes to the data file makes its format invalid, DocTrack will discard all data and start with an empty data file at the next run. Hence, it is recommended that you have a backup of the file before editing it.
-- Furthermore, certain edits can cause DocTrack to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, you should edit the data file only if you are confident that you +- Furthermore, certain edits can cause DocTrack to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, you should edit the data file only if you are confident that you can update it correctly. -
+

@@ -915,7 +909,7 @@ For advanced users, feel free to update patient and appointment data directly by ## **FAQ** **Q**: How is my data stored?
-**A**: Your data is stored in [.json](https://www.json.org/json-en.html) files, located in the `data` +**A**: Your data is stored in [.json](https://www.json.org/json-en.html) files, located in the `data` folder. The details of the persons are stored in the `addressbook.json` file, while the appointments are stored in the `appointmentbook.json` file. Examples: @@ -978,13 +972,13 @@ An example of how the appointments are stored in the `appointmentbook.json` file ```

-**Q**: How do I transfer my data (in the `addressbook.json` and `appointmentbook.json` files) to another +**Q**: How do I transfer my data (in the `addressbook.json` and `appointmentbook.json` files) to another computer?
-**A**: +**A**: 1. Save the `addressbook.json` and `appointmentbook.json` files from the `data` folder in your current computer. -2. [Install the DocTrack app](#quick-start) in the other computer. -3. When you run DocTrack, it creates empty [.json](https://www.json.org/json-en.html) files in the `data` - folder. +2. [Install the DocTrack app](#quick-start) in the other computer. +3. When you run DocTrack, it creates empty [.json](https://www.json.org/json-en.html) files in the `data` + folder. 4. Replace these empty files with the `addressbook.json` and `appointmentbook.json` files you saved from your previous computer.
@@ -995,14 +989,14 @@ computer?

**Q**: How do I back up my data?
-**A**: Since the data is saved in the `addressbook.json` and `appointmentbook.json` files in the `data` +**A**: Since the data is saved in the `addressbook.json` and `appointmentbook.json` files in the `data` folder, you can copy these files to another location as a backup.
**Q**: How many patients and appointments does DocTrack support?
**A**: DocTrack technically supports up to 4 billion total **historical** patients and appointments. However, -depending on your system, it might lag with larger numbers of patients and appointments. +depending on your system, it might lag with larger numbers of patients and appointments. We recommend that you do not exceed 10,000 total patients and appointments.