From 828cd8de6af1eb3a2336bf6d9f268b18f5937011 Mon Sep 17 00:00:00 2001 From: pjanthony2001 <104015990+pjanthony2001@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:09:44 +0800 Subject: [PATCH 1/4] Fix modelState typo --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e88c0069e13..d56077e60ea 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -601,7 +601,7 @@ ConnectCare provides the following commands for navigating the application: ### Undoing a command : `undo` -_This command allows you to undo your last command, restoring the ConnectCare application to its previous modelState._ +_This command allows you to undo your last command, restoring the ConnectCare application to its previous state._ Format: `undo` From 0e4a59b45a8a15772d86b3aa04e738f0aa9ea6a3 Mon Sep 17 00:00:00 2001 From: pjanthony2001 <104015990+pjanthony2001@users.noreply.github.com> Date: Mon, 15 Apr 2024 13:32:13 +0800 Subject: [PATCH 2/4] Add help command --- docs/UserGuide.md | 174 +++++++++++++++--- .../cli_tutorial/cli_tutorial_3.png | Bin 0 -> 35326 bytes docs/images/user-guide/help/help_command.png | Bin 0 -> 6576 bytes 3 files changed, 149 insertions(+), 25 deletions(-) create mode 100644 docs/images/user-guide/cli_tutorial/cli_tutorial_3.png create mode 100644 docs/images/user-guide/help/help_command.png diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d56077e60ea..b07b3ad5eb0 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -18,12 +18,48 @@ _This page is for ConnectCare users. If you're a developer, see also the - +## Table of Contents ++ [ConnectCare User Guide](#connectcare-user-guide) + + [Introduction](#introduction) + + [Who ConnectCare is For](#who-connectcare-is-for) + + [Who This Guide is For](#who-this-guide-is-for) + + [How to Use This Guide](#how-to-use-this-guide) ++ [Quick Start](#quick-start) + + [Installation Instructions](#installation-instructions) + + [Startup Instructions](#startup-instructions) ++ [CLI Guide](#cli-guide) + + [Structure](#structure) + + [Notes about the command format](#notes-about-the-command-format) ++ [Features](#features) + + [Client Management](#client-management) + + [Adding a Client](#adding-a-client--add) + + [Deleting a Client](#deleting-a-client--delete) + + [Updating a Client](#updating-a-client--update) + + [Listing all Clients](#listing-all-clients--list) + + [Finding Clients](#finding-clients--find) + + [Displaying a Client's Information](#displaying-a-clients-information--display) + + [Clearing all entries](#clearing-all-entries--clear) + + [Appointment Management](#appointment-management) + + [Adding an Appointment](#adding-an-appointment--schedule-add) + + [Deleting an Appointment](#deleting-appointments--schedule-delete) + + [Program Controls](#program-controls) + + [Undoing a Command](#undoing-a-command--undo) + + [Redoing a Command](#redoing-a-command--redo) + + [Shortcuts](#shortcuts) + + [Miscellaneous Commands](#miscellaneous-commands) + + [Viewing Help](#viewing-help--help) + + [Exiting the Program](#exiting-the-program--exit) + + [Saving the data](#saving-the-data) ++ [Frequently Asked Questions](#frequently-asked-questions) ++ [Known Issues and Future Features](#known-issues-and-future-features) ++ [Command Summary](#command-summary) ++ [Glossary](#glossary) + ___ ## Introduction -Welcome to *ConnectCare User Guide*, your comprehensive resource for managing client contacts with ease! +Welcome to the *ConnectCare User Guide*, your comprehensive resource for managing client contacts with ease! Designed to help you handle demanding caseloads, *ConnectCare* empowers you to navigate your client interactions seamlessly. Whether you're troubleshooting issues, just getting started, or looking to enhance your workflow, this guide has you covered. ## Who ConnectCare is For @@ -141,13 +177,7 @@ It will help you [install](#installation-instructions) and [start](#startup-inst 6. Double-click on the `connectcare.jar` file to start the application. - If you are facing issues, you can consult [this guide](https://www.wikihow.com/Run-a-.Jar-Java-File). - -**Your first command** -- Type this command to add and manage your first client - - `add n/John Doe p/98765432 e/johnd@example.com a/John street, Block 123, #01-01 d/Suffers from depression k/Jasmin Doe t/mentalIllness` -- Go to the [command summary](#command-summary) for a list of different commands to try out! - + - **macOS** users might experience a pop-up that says "connectcar.jar cannot be opened because it is from an unidentified developer." To solve this issue, please consult [this Apple guide](https://support.apple.com/en-sg/guide/mac-help/mh40616/mac) ___ # CLI guide @@ -160,7 +190,7 @@ Each command has the general structure: To enter a command: 1. Click on the text box with the placeholder text `Enter command here...` -2. Type in your command, which is made up of a main command, followed by parameters if applicable +2. Type in your command, which is made up of a main command, followed by parameters if applicable. Here we have the command `add n/Derek Lau p/92784935 e/dlau@example.com` entered into the command box.
@@ -171,14 +201,22 @@ To enter a command:
-## Notes about the command format: -- Words in `UPPER_CASE` are the parameters to be supplied by the user. +3. Press the `ENTER` key and voilà! You have added your first client with the CLI! + +
+ + Figure 1.3: Application after command is executed + +
+ +## Notes about the command format +- In this guide, words in `UPPER_CASE` are the parameters to be supplied by the user. 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. +- Parameters in square brackets are optional. 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. +- Parameters with `…` after them can be used multiple times including zero times. 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. @@ -187,6 +225,13 @@ To enter a command: - Extraneous parameters for commands that do not take in parameters (such as `help`, `list`, `exit` and `clear`) will be ignored. e.g. if the command specifies `help 123`, it will be interpreted as `help`. +--- + +You're all set to use the CLI to its full potential! Read further in our [Features Section](#features) to find out about all the various features and commands that the ConnectCare application offers! +Or jump straight to the [Command Summary](#command-summary) if you are already familiar with the features! + +--- + # Features ## Client Management @@ -215,7 +260,7 @@ _This command adds a new client to your client list._ | a/ADDRESS | Address of client that you want to add | - | | k/NEXT_OF_KIN | Next of Kin details of client that you want to add | Name must be alphanumeric | | d/DESCRIPTION | Description of client that you want to add | Description should not be blank | -| t/TAG | Tag to identify the client | A person can have any number of tags (or even 0). Tags should be alphanumeric and should not contain spaces. | +| t/TAG | Tag to identify the client | A person can have any number of tags (or even 0). Tags should be alphanumeric and should not contain spaces or other special characters. | @@ -280,6 +325,10 @@ As the commands given were invalid, there would be no changes to the client list   +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Deleting a client: `delete` _This command allows you to delete a client at a specified `INDEX` from your client list._ @@ -333,6 +382,12 @@ As the commands given were invalid, there would be no changes to the client list +  + +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Updating a client: `update` _This command helps update existing client's information in the client list in the event that something changes._ @@ -406,6 +461,10 @@ As the commands given were invalid, there would be no changes to the client list   +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Listing all clients: `list` _This command shows a list of all persons._ @@ -427,6 +486,10 @@ only `Peter Crow` was shown in the list. Thereafter, the `list` command was used   +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Finding clients: `find` _This command allows you to find a specific client in your client list by any of a client's parameters_ @@ -463,9 +526,10 @@ _This command allows you to find a specific client in your client list by any of **Walkthrough:** Let's say your client list contains the following clients: -
+ +
- Figure 1.1: An example client list in ConnectCare + Figure 1.1: _An example client list in ConnectCare_
@@ -492,6 +556,11 @@ have an address that contains address1 OR address2, for example: After searching for clients, you can use the `list` command to view your full list of clients again! +  +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Displaying a client's information: `display` _This command allows you to view a client's information in a more detailed manner_ @@ -574,6 +643,10 @@ _This command allows you to add an appointment with the specified parameters._ Once the command is entered, the event should be added to the events panel on the right of the application. +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Deleting Appointments : `schedule delete` _This command allows you to remove an appointment with the specified parameters._ @@ -591,6 +664,10 @@ _This command allows you to remove an appointment with the specified parameters. Once the command is entered, the event should be removed from the events panel on the right of the application. +Click [here](#table-of-contents) to return to the table of contents! + +--- + ## Program Controls ConnectCare provides the following commands for navigating the application: * Undoing a command: `undo` @@ -626,12 +703,16 @@ As seen in the second image, after using the `undo` command, Charlie is no longe **Tip:** -The undo command does not undo every single command, only those that change the address-book in a significant way. +The undo command does not undo every single command, only those that change the ConnectCare application in a significant way. If you are at the earliest state (i.e. you can't undo any command) an appropriate error message will be displayed: "You cannot rollback the state anymore!" For a comprehensive deep-dive into the undo command, please refer to the [Implementation section of our Developer Guide](https://ay2324s2-cs2103t-w12-4.github.io/tp/DeveloperGuide.html) +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Redoing a command : `redo` _This command allows you to redo your command, reversing any changes that were previously undone._ @@ -659,12 +740,16 @@ As seen in the second image, after using the `redo` command, the change is redon **Tip:** -The redo command does not redo every single command, only those that change the address-book in a significant way. +The redo command does not redo every single command, only those that change the ConnectCare application in a significant way. If you are at the most recent state (i.e. you can't redo this command) an appropriate error message will be displayed: "You cannot roll forward the state anymore!" For a comprehensive deep-dive into the redo command, please refer to the [Implementation section of our Developer Guide](https://ay2324s2-cs2103t-w12-4.github.io/tp/DeveloperGuide.html) +Click [here](#table-of-contents) to return to the table of contents! + +--- + ### Shortcuts _These are a list of keyboard actions to better navigate our application_ @@ -689,7 +774,30 @@ _These are a list of keyboard actions to better navigate our application_ **Note**: Only commands that have been executed successfully will be saved. -## Exiting the program : `exit` +Click [here](#table-of-contents) to return to the table of contents! + +--- + +## Miscellaneous Commands + +### Viewing Help : `help` + +_This command displays a popup message with a link to access this User Guide._ + +Format: `help` + +
+ + Figure 1: Pop-up when the help command is entered + +
+  + +Click [here](#table-of-contents) to return to the table of contents! + +--- + +### Exiting the program : `exit` _This command allows you to exit the application._ @@ -701,25 +809,36 @@ Format: `exit` You can simply close the window using the X button too! +Click [here](#table-of-contents) to return to the table of contents! + +--- + ## Saving the data Your locally saved client list will be updated after any change is made, so no further action needs to be taken when operating the application! On start-up, your existing client list (if it exists) will also be automatically loaded, so don't worry about that! -**Note**: If it is your first time running the program, and there is no existing client list, a new file will automatically be generated to store your new client list! +**Note**: If it is your first time running the program, and there is no existing client list, a new file will automatically be generated to store your new client list once changes are made! +Click [here](#table-of-contents) to return to the table of contents! + ___ -## FAQ +Congratulations, you've reached the end of all of our current features! If you ever forget any of the commands a quick look at the [command summary](#command-summary) would help! + +--- + +# FAQ **Q:** How do I transfer my data to another Computer? \ **A:** Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous AddressBook home folder. +Click [here](#table-of-contents) to return to the table of contents! ___ -## Command summary +# Command summary | Action | Format | Examples | |-------------|-----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------| @@ -731,10 +850,11 @@ ___ | **Display** | `display NAME` | | | **Clear** | `clear` | | | **Exit** | `exit` | | - + +Click [here](#table-of-contents) to return to the table of contents! ___ -## Glossary +# Glossary ##### CLI CLI stands for Command Line Interface, which is a way for you to interact with the application with only textual @@ -744,3 +864,7 @@ For more information, see also the [Wikipedia article for CLI](https://en.wikipe ##### Local Local applications runs on the same computer it is launched on and there is no program or data that is being ran or transferred to another remote machine. For more information, see also this [Microsoft article for Local and Remote execution](https://learn.microsoft.com/en-us/sql/integration-services/run-manage-packages-programmatically/understanding-the-differences-between-local-and-remote-execution?view=sql-server-ver16) + +Click [here](#table-of-contents) to return to the table of contents! + +--- \ No newline at end of file diff --git a/docs/images/user-guide/cli_tutorial/cli_tutorial_3.png b/docs/images/user-guide/cli_tutorial/cli_tutorial_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb62fa3ed3ac1bd9406898dbb51b622b98797e0 GIT binary patch literal 35326 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%0DSUbi4?f~Se}rjDEfNktqK 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 Date: Mon, 15 Apr 2024 13:37:18 +0800 Subject: [PATCH 3/4] Update Table of Contents --- docs/UserGuide.md | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index b07b3ad5eb0..1f2af4f27ad 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -32,26 +32,25 @@ _This page is for ConnectCare users. If you're a developer, see also the + [Notes about the command format](#notes-about-the-command-format) + [Features](#features) + [Client Management](#client-management) - + [Adding a Client](#adding-a-client--add) - + [Deleting a Client](#deleting-a-client--delete) - + [Updating a Client](#updating-a-client--update) - + [Listing all Clients](#listing-all-clients--list) - + [Finding Clients](#finding-clients--find) - + [Displaying a Client's Information](#displaying-a-clients-information--display) - + [Clearing all entries](#clearing-all-entries--clear) + + [Adding a Client](#adding-a-client-add) + + [Deleting a Client](#deleting-a-client-delete) + + [Updating a Client](#updating-a-client-update) + + [Listing all Clients](#listing-all-clients-list) + + [Finding Clients](#finding-clients-find) + + [Displaying a Client's Information](#displaying-a-clients-information-display) + + [Clearing all entries](#clearing-all-entries-clear) + [Appointment Management](#appointment-management) + [Adding an Appointment](#adding-an-appointment--schedule-add) + [Deleting an Appointment](#deleting-appointments--schedule-delete) + [Program Controls](#program-controls) - + [Undoing a Command](#undoing-a-command--undo) - + [Redoing a Command](#redoing-a-command--redo) + + [Undoing a Command](#undoing-a-command-undo) + + [Redoing a Command](#redoing-a-command-redo) + [Shortcuts](#shortcuts) + [Miscellaneous Commands](#miscellaneous-commands) - + [Viewing Help](#viewing-help--help) - + [Exiting the Program](#exiting-the-program--exit) + + [Viewing Help](#viewing-help-help) + + [Exiting the Program](#exiting-the-program-exit) + [Saving the data](#saving-the-data) -+ [Frequently Asked Questions](#frequently-asked-questions) -+ [Known Issues and Future Features](#known-issues-and-future-features) ++ [Frequently Asked Questions](#faq) + [Command Summary](#command-summary) + [Glossary](#glossary) @@ -786,7 +785,7 @@ _This command displays a popup message with a link to access this User Guide._ Format: `help` -
+
Figure 1: Pop-up when the help command is entered From ee95c4cef14565418c1c4a352a1bc2b7a2465d49 Mon Sep 17 00:00:00 2001 From: pjanthony2001 <104015990+pjanthony2001@users.noreply.github.com> Date: Mon, 15 Apr 2024 13:39:03 +0800 Subject: [PATCH 4/4] Add newline at EOF --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1f2af4f27ad..2209aed1c42 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -866,4 +866,4 @@ For more information, see also this [Microsoft article for Local and Remote exec Click [here](#table-of-contents) to return to the table of contents! ---- \ No newline at end of file +---