diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e1afd016fc4..84b0bf87583 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1,9 +1,9 @@ --- layout: page -title: Developer Guide +title: OutBook Developer Guide --- -# Table of Contents +## Table of Contents - [Acknowledgements](#acknowledgements) - [Setting up, getting started](#setting-up-getting-started) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 6e79bef6538..5820be46b17 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -2,19 +2,18 @@ layout: page title: OutBook User Guide --- -# OutBook ## About OutBook -OutBook is a desktop app that allows freelance insurance agents to manage their numerous contacts and meeting schedule. It is optimised for Command Line Interface (CLI) and aims to significantly reduce the time needed for organizational tasks. +OutBook is a desktop application designed for freelance insurance agents, enabling them to effectively organize and oversee their extensive contacts and meeting schedules. It is optimised for Command Line Interface (CLI) and aims to significantly reduce the time needed for organizational tasks. This guide aims to help you explore its features and learn how to use them. ## Key Features To help you simplify and streamline the process of organizing your contacts and meeting schedule, our application provides these easy-to-use and efficient features: -1. **Client Information Management**: Easily store, access and modify client details such as contact number, email and last contacted time. Add status, custom tags and remarks to organize your clients according to your preference. -2. **Meeting Schedule and Information Management**: Keep track of where and when your meetings are, and who you are meeting, to ensure you never miss an important appointment. +1. **Client Information Management**: Easily store, access and modify client details such as contact number, email and last contacted time. Add statuses, custom tags and remarks to organize your clients according to your preferences. +2. **Meeting Schedule and Information Management**: Keep track of where and when your meetings are, and who you are meeting, to ensure you will be prepared for every appointment. -Managing clients and a busy schedule have never been easier. With OutBook, all you need is a keyboard and a few seconds to type in short commands! +Managing clients and a busy schedule has never been easier. With OutBook, all you need is a keyboard and a few short seconds typing out simple commands!
# Table of Contents @@ -24,11 +23,11 @@ Managing clients and a busy schedule have never been easier. With OutBook, all y - [Features](#features) - [Contact Commands](#contact-commands) - [Adding a contact: `addc`](#adding-a-contact--addc) - - [Listing all persons: `listc`](#listing-all-persons--listc) - - [Deleting a person: `deletec`](#deleting-a-person--deletec) + - [Listing all contacts: `listc`](#listing-all-contacts--listc) + - [Deleting a contact: `deletec`](#deleting-a-contact--deletec) - [Editing a contact: `editc`](#editing-a-contact--editc) - [Viewing detailed contact information: `viewc`](#viewing-detailed-contact-information--viewc) - - [Finding persons using contact fields: `findc`](#search-for-persons-using-contact-fields--findc) + - [Finding contacts using contact fields: `findc`](#search-for-contacts-using-contact-fields--findc) - [Meeting Commands](#meeting-commands) - [Adding a meeting: `addm`](#adding-a-meeting--addm) - [Listing all meetings: `listm`](#listing-all-meetings--listm) @@ -40,6 +39,7 @@ Managing clients and a busy schedule have never been easier. With OutBook, all y - [Removing contact from meeting: `rmmc`](#remove-contact-from-meeting--rmmc) - [Marking a meeting as complete : `mark`](#marking-a-meeting-as-complete--mark) - [Miscellaneous Commands](#miscellaneous-commands) + - [Viewing help: `help`](#viewing-help--help) - [Clearing all entries: `clear`](#clearing-all-entries--clear) - [Exiting the program: `exit`](#exiting-the-program--exit) - [Saving the data](#saving-the-data) @@ -56,13 +56,14 @@ Managing clients and a busy schedule have never been easier. With OutBook, all y 1. Ensure you have Java `11` or above installed in your Computer. -2. Download the latest `OutBook.jar` from [here](https://github.com/AY2324S1-CS2103T-F12-4/tp/releases). +2. Download the latest `OutBook.jar` [here](https://github.com/AY2324S1-CS2103T-F12-4/tp/releases). 3. Copy the file to the folder you want to use as the _home folder_ for OutBook. -4. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar OutBook.jar` command to run the application.
- A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
- ![Ui](images/Ui.png) +4. Open a command terminal, navigate to the _home folder_ using `cd`, and use the `java -jar OutBook.jar` command to run the application.
+ A GUI similar to the below should appear in a few seconds. Note how the app comes pre-loaded with some sample data.
+ +![Ui](images/Ui.png)





5. Type a command in the command box and press Enter to execute it. e.g. typing **`help`** and pressing Enter will open the help window.
Some example commands you can try: @@ -79,25 +80,25 @@ Managing clients and a busy schedule have never been easier. With OutBook, all y - `exit` : Exits the app. -6. Refer to the [Features](#features) below for details of each command. +6. You can refer to the [Features](#features) section below for details of each command. -Return to the [Table of Contents](#table-of-contents) +[Click here to return to the Table of Contents](#table-of-contents) +___
---- # Navigating OutBook ![User Interface for OutBook](images/UserInterface.png) | Name | Function | |---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Command Box | Enter your commands here | -| Status Box | Displays the results after a command is executed | -| Contacts List | Displays contact details | -| Meetings List | Displays meetings that are scheduled | -| Details List | Displays all the fields of a contact and/or meeting in full detail, completed with labels. Use [viewc](#viewing-detailed-contact-information--viewc)/[viewm](#viewing-detailed-meeting-information--viewm) to specify the contact/meeting to display. | +| Command Box | Allows you to enter your commands here. | +| Status Box | Displays the results after a command is executed. | +| Contacts List | Displays your contacts along with a summary of their details. | +| Meetings List | Displays meetings that are scheduled along with a summary of their details. | +| Details List | Displays all the fields of a contact and/or meeting in full detail, complete with labels. Use [viewc](#viewing-detailed-contact-information--viewc)/[viewm](#viewing-detailed-meeting-information--viewm) to specify the contact/meeting to display. | -Return to the [Table of Contents](#table-of-contents) +[Click here to return to the Table of Contents](#table-of-contents) --- @@ -109,32 +110,21 @@ Return to the [Table of Contents](#table-of-contents) **:information_source: Notes about the command format:**
-- Words in `UPPER_CASE` are the parameters to be supplied by you.
- e.g. in `addc n/NAME`, `NAME` is a parameter which can be used as `addc n/John Doe`. +- Every word in uppercase represents a field you can supply.
+ e.g. in `addc n/NAME`, `NAME` is a parameter that can be substituted for `John Doe`, as in `addc n/John Doe`. -- Items 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`. +- Fields contained in square brackets are optional.
+ e.g. when provided with the fields `n/NAME [t/TAG]`, you can submit `n/John Doe t/friend` if you want to mark this contact as a `friend`, or `n/John Doe` otherwise. -- Items 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. +- Fields with `…`​ after them can be submitted any number of times, including zero.
+ e.g. when provided with the field `[t/TAG]…​`, you can leave the field blank, or submit `t/friend`, `t/friend t/family`, etc. -- You can place parameters in any order.
- e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. +- You can submit fields in any order.
+ e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, submitting in the format `p/PHONE_NUMBER n/NAME`, such as in `p/91472381 n/John Doe`, is also acceptable. -- Any extraneous parameters you place for commands that do not take in parameters (such as `help`, `listc`, `exit` and `clear`) will be ignored.
- e.g. if you type `help 123`, it will be interpreted as `help`. - -- If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application. +- If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines. This is to avoid omission of space characters surrounding line-breaks when lengthy text is copied over to the application. -### Viewing help : `help` - -Shows you a message explaining how to access the help page. - -![help message](images/helpMessage.png) - -Format: `help` -
## Contact Commands @@ -143,9 +133,9 @@ Format: `help` Adds a contact to OutBook. -Format: `addc n/NAME p/PHONE_NUMBER e/EMAIL lc/LAST_CONTACTED_TIME [s/STATUS] [r/REMARK] [t/TAG]…​` +Format: `addc n/NAME p/PHONE_NUMBER e/EMAIL [lc/LAST_CONTACTED_TIME] [s/STATUS] [r/REMARK] [t/TAG]…​` -- `NAME`, `PHONE_NUMBER`, `EMAIL` and `LAST_CONTACTED_TIME` are compulsory fields. `STATUS`, `REMARK` and `TAG` are optional. +- `NAME`, `PHONE_NUMBER`, `EMAIL` are compulsory fields. `LAST_CONTACTED_TIME`, `STATUS`, `REMARK` and `TAG` are optional. - `PHONE_NUMBER` must contain only numbers, and be at least 3 digits long. - `EMAIL` must be of the format local-part@domain and adhere to the following constraints: 1. The local-part should only contain alphanumeric characters and the following special characters `+ _ . -`. @@ -155,45 +145,45 @@ Format: `addc n/NAME p/PHONE_NUMBER e/EMAIL lc/LAST_CONTACTED_TIME [s/STATUS] [r - end with a domain label at least 2 characters long - have each domain label start and end with alphanumeric characters - have each domain label consist of alphanumeric characters, separated only by hyphen - - `LAST_CONTACTED_TIME` must contain both date and time and adhere to the `DD.MM.YYYY HHMM` format. - - eg. 1st October 2023, 10:00am will be written as `01.10.2023 1000`. -- STATUS, if included, must be one of `NIL, Prospective, Active, Inactive, Claimant, Renewal` or blank. -- This command may change the contact that is currently displayed via the `viewc` command, as detailed in the description for `viewc`. + - e.g. 1st October 2023, 10:00am will be written as `01.10.2023 1000`. +- STATUS, if included, must be one of `NIL`, `Prospective`, `Active`, `Inactive`, `Claimant`, `Renewal`, or blank. +- This command may change the contact that is currently displayed in the details list via the `viewc` command, as detailed in the description for `viewc`.
:bulb: **Tip:** You can put any number of tags (including 0) on a contact.
-- `addc n/John Doe p/98765432 e/johnd@example.com lc/01.10.2023 1000` +Examples: +- `addc n/John Doe p/98765432 e/johnd@example.com` - `addc n/Betsy Crowe t/friend e/betsycrowe@example.com p/1234567 lc/01.01.2023 0100 t/Professor`

-### Listing all persons : `listc` +### Listing all contacts: `listc` -Shows an unfiltered list of all contacts in OutBook. Contacts are sorted by `LAST_CONTACTED_TIME` by default. +Shows an unfiltered list of all contacts in OutBook in the contacts list. Contacts are sorted by their `LAST_CONTACTED_TIME`. Format: `listc` -* This command may change the contact that is currently displayed via the `viewc` command, as detailed in the description for `viewc`. +* This command may change the contact that is currently displayed in the details list via the `viewc` command, as detailed in the description for `viewc`. -### Deleting a person : `deletec` +### Deleting a contact: `deletec` Deletes a contact from OutBook. Format: `deletec INDEX` - Deletes the contact 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, …​ +- The `INDEX` refers to the index number shown in the displayed contacts list. +- The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ - This command clears the contact that is currently displayed via the `viewc` command. Examples: -- `listc` followed by `delete 2` deletes the 2nd person in the results of the `listc` command. -- `findc Betsy` followed by `delete 1` deletes the 1st person in the results of the `findc` command. +- `listc` followed by `delete 2` deletes the 2nd contact in the results of the `listc` command. +- `findc Betsy` followed by `delete 1` deletes the 1st contact in the results of the `findc` command.
@@ -203,51 +193,57 @@ Edits an existing contact in OutBook. Format: `editc INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [lc/LAST_CONTACTED_TIME] [s/STATUS] [r/REMARK] [t/TAG]…​` -- Edits the contact 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, …​ +- Edits the contact at the specified `INDEX`. The `INDEX` refers to the index number shown in the displayed contacts list. The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ - All fields are optional, but at least one must be provided. - Existing values will be updated to the input values. -- 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. -- This command may change the contact that is currently displayed via the `viewc` command, as detailed in the description for `viewc`. +- When editing tags, the existing tags of the contact will be removed i.e addition of tags is not cumulative. + - You can therefore remove all of a contact’s tags by typing `t/` without specifying any tags after it. +- This command may change the contact that is currently displayed via the `viewc` command in the details list, as detailed in the description for `viewc`. Examples: -- `editc 1 p/91234567 e/johndoe@example.com` Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. -- `editc 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. +- `editc 1 p/91234567 e/johndoe@example.com` edits the phone number and email address of the 1st contact to be `91234567` and `johndoe@example.com` respectively. +- `editc 2 n/Betsy Crower t/` edits the name of the 2nd contact to be `Betsy Crower`, and clears all existing tags. ### Viewing detailed contact information : `viewc` -Views detailed information of a contact in OutBook. +Displays detailed information of a contact in OutBook's details list. Format: `viewc INDEX` -- Views detailed information of the contact 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, …​ -- Displays contact Name, Phone, Email, Last Contacted Time, Status, Remarks and Tags. -- As this command displays by `Index`, the displayed contact may change when the specified `INDEX` refers to a different person due to a change in list order through `addc`, `editc` and `listc`. This is intentional. -- The displayed contact is cleared when the `deletec` and `findc` commands are used. +- Displays detailed information of the contact at the specified `INDEX`. +- The `INDEX` refers to the index number shown in the displayed contacts list. +- The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ +- The displayed details include a contact's Name, Phone, Email, Last Contacted Time, Status, Remarks and Tags. +- As this command displays the contact at the specified `INDEX` in the contacts list, the contact displayed in the details list may change due to a modification in list order through the use of `addc`, `editc` or `listc` commands. This is intentional. +- The displayed contact is cleared from the details list when the `deletec` and `findc` commands are used. Examples: - `viewc 2` Displays detailed information related to the 2nd contact on the list.
-### Finding persons using contact fields: `findc` -Find persons whose contact details match the keywords specified for at least 1 of these fields: `NAME`, `PHONE_NUMBER`, `EMAIL`, `STATUS`, `TAG`. +### Finding contacts using contact fields: `findc` +Displays in the contacts list only those contacts whose details match the keywords specified in these fields: `NAME`, `PHONE_NUMBER`, `EMAIL`, `LAST_CONTACTED_TIME`, `STATUS`, `TAG`. Format: `findc [n/KEYWORDS] [p/KEYWORDS] [e/KEYWORDS] [lc/DATETIME] [s/KEYWORDS] [t/KEYWORDS]` -* The search is case-insensitive. e.g `shop` will match `SHOP`. -* The order of the keywords does not matter. e.g. `Shop Meet` will match `Meet Shop`. -* For `NAME`, `STATUS` and `TAG`, only full words will be matched e.g. `Meet` will not match `Meeting`. -* For `EMAIL`, any characters (alphanumeric, special characters) will be matched e.g. `_` will match `m_e@gmail.com`. -* For `PHONE_NUMBER`, the entire length of the input digits will be matched e.g. `913` will match `90091300` but not `90103000`. +* All fields are optional. If none are provided, all contacts will be displayed in the contacts list. +* The search is case-insensitive. + - e.g `shop` will match `SHOP`. +* The order of the keywords does not matter. + - e.g. `Shop Meet` will match `Meet Shop`. +* For `NAME`, `STATUS` and `TAG`, only full words will be matched. + - e.g. `Meet` will not match `Meeting`. +* For `EMAIL`, any characters, whether alphanumeric or not, will be matched. + - e.g. `_` will match `m_e@gmail.com`. +* For `PHONE_NUMBER`, the entire length of the input digits will be matched. + - e.g. `913` will match `90091300` but not `90103000`. * For `LAST_CONTACTED_TIME`, the input must adhere to the `DD.MM.YYYY HHMM` format. - e.g. 9th October 2023, 10.30am will be written as `09.10.2023 1030`. -* If only one field is provided, all Persons matching at least one keyword will be returned (i.e. `OR` search). +* Contacts must match at least one keyword in a particular field to be returned. - e.g. `John Doe` will return `John Lee`, `James Doe`. -* If multiple fields are provided, only Persons matching at least one keyword in each field will be returned (i.e. `AND` search). +* If multiple fields are provided, contacts must match at least one keyword in all fields to be returned. - e.g. `n/John Doe s/active` will return `Name: John Lee, Status: Active` but not `Name: James Doe, Status: Claimant`. * This command clears the contact that is currently displayed via the `viewc` command. @@ -257,25 +253,33 @@ Examples: - `findc n/alice` returns `Alice` and `alice tan` - `findc p/51` returns `95163890` and `40351` - `findc e/_@GMAIL` returns `alice_@gmail.com` -- `findc p/9 s/inactive claimant t/friend` returns persons with a `9` in their phone number, whose status is either `inactive` or `claimant`, and has a `friend` tag +- `findc p/9 s/inactive claimant t/friend` returns contacts with a `9` in their phone number, whose status is either `inactive` or `claimant`, and has a `friend` tag. ![result for 'findContact'](images/findContactResult.png)
## Meeting Commands +
+ +**:information_source: Notes about meetings:**
+ +- Meetings in OutBook are sorted by their start time. + +- Meetings are allowed to overlap and multiple meetings can be occuring at the same time. + +
+ ### Adding a meeting: `addm` Adds a meeting to OutBook. -Meetings are sorted by start time given. -Meetings are allowed to overlap and multiple meetings can be occuring at the same time. Format: `addm m/TITLE a/LOCATION s/START e/END [t/TAG]…​` * `TITLE`, `LOCATION`, `START` and `END` are compulsory fields. `TAG` is optional. * `START` and `END` must contain both date and time and adhere to the `DD.MM.YYYY HHMM` format. - eg. 1st October 2023, 10:00am will be written as `01.10.2023 1000`. -* This command may change the Meeting that is currently displayed via the `viewm` command, as detailed in the description for `viewm`. +* This command may change the meeting that is currently displayed in the details list via the `viewm` command, as detailed in the description for `viewm`. Examples: - `addm m/Lunch a/Cafeteria s/20.09.2023 1200 e/20.09.2023 1300` @@ -283,11 +287,11 @@ Examples: ### Listing all meetings : `listm` -Shows an unfiltered list of all meetings in OutBook. Meetings are sorted by `START` by default. +Shows an unfiltered list of all meetings in OutBook in the meetings list. Meetings are sorted by their `START` time. Format: `listm` -* This command may change the Meeting that is currently displayed via the `viewm` command, as detailed in the description for `viewm`. +* This command may change the meeting that is currently displayed in the details list via the `viewm` command, as detailed in the description for `viewm`.
@@ -298,9 +302,9 @@ Deletes a meeting from OutBook. Format: `deletem INDEX` - Deletes the meeting at the specified `INDEX`. -- The index refers to the index number shown in the displayed meeting list. -- The index **must be a positive integer** 1, 2, 3, …​ -- This command clears the Meeting that is currently displayed via the `viewm` command. +- The `INDEX` refers to the index number shown in the displayed meeting list. +- The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ +- This command clears the meeting that is currently displayed via the `viewm` command. Examples: - `listm` followed by `deletem 2` deletes the 2nd meeting in the results of the `listm` command. @@ -312,31 +316,31 @@ Edits an existing meeting in OutBook. Format: `editm INDEX [m/TITLE] [a/LOCATION] [s/START] [e/END] [t/TAG]…​` -- Edits the meeting at the specified `INDEX`. The index refers to the index number shown in the displayed meeting list. The index **must be a positive integer** 1, 2, 3, …​ -- At least one of the optional fields must be provided. +- Edits the meeting at the specified `INDEX`. The `INDEX` refers to the index number shown in the displayed meeting list. The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ +- All fields are optional, but at least one must be provided. - Existing values will be updated to the input values. - When editing tags, the existing tags of the meeting will be removed i.e adding of tags is not cumulative. -- You can remove all the meeting’s tags by typing `t/` without specifying any tags after it. -- This command may change the Meeting that is currently displayed via the `viewm` command, as detailed in the description for `viewm`. + - You can therefore remove all of a meeting’s tags by typing `t/` without specifying any tags after it. +- This command may change the meeting that is currently displayed via the `viewm` command in the details list, as detailed in the description for `viewm`. Examples: -- `editm 1 a/Hawker Centre s/15.09.2023 1500` Edits the location and start of the 1st meeting to be `Hawker Centre` and `15.09.2023 1500` respectively. -- `editm 2 m/Zoom meeting t/` Edits the title of the 2nd meeting to be `Zoom meeting` and clears all existing tags. +- `editm 1 a/Hawker Centre s/15.09.2023 1500` edits the location and start of the 1st meeting to be `Hawker Centre` and `15.09.2023 1500` respectively. +- `editm 2 m/Zoom meeting t/` edits the title of the 2nd meeting to be `Zoom meeting`, and clears all existing tags.
### Viewing detailed meeting information : `viewm` -Views detailed information of a meeting in OutBook. +Displays detailed information of a meeting in OutBook's details list. Format: `viewm INDEX` -- Views detailed information of the meeting at the specified `INDEX`. -- The index refers to the index number shown in the displayed meeting list. -- The index **must be a positive integer** 1, 2, 3, …​ -- Displays meeting Title, Location, Start/End, Attendees and Tags. -- As this command displays by `Index`, the displayed meeting may change when the specified `INDEX` refers to a different meeting due to a change in list order through `addm`, `editm` and `listm`. This is intentional. -- The displayed meeting is cleared when the `deletem` and `findm` commands are used. +- Displays detailed information of the meeting at the specified `INDEX`. +- The `INDEX` refers to the index number shown in the displayed meeting list. +- The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ +- The displayed details include a meeting's Title, Location, Start and End time, Attendees and Tags. +- As this command displays the contact at the specified `Index` in the meetings list, the meeting displayed in the details list may change due to a modification in list order through the use of `addm`, `editm` and `listm` commands. This is intentional. +- The displayed meeting is cleared from the details list when the `deletem` and `findm` commands are used. Examples: - `viewm 2` Displays detailed information related to the 2nd meeting on the list, including current attendees. @@ -347,19 +351,23 @@ Examples: ### Finding meetings using meeting fields: `findm` -Find meetings with details matching the keywords you specified for at least 1 of these fields: `TITLE`, `LOCATION`, `ATTENDEE_NAME`, `TAG`; and falls within the `START` and `END` time you give. +Displays in the meetings list only those meetings whose details match the keywords specified in these fields: `TITLE`, `LOCATION`, `ATTENDEE_NAME`, `TAG`, or fall within the `START` and `END` times you provide. Format: `findm [m/KEYWORDS] [a/KEYWORDS] [t/KEYWORDS] [n/ATTENDEE_NAME] [s/START e/END]` -- The search is case-insensitive. e.g `shop` will match `SHOP`. -- The order of the keywords does not matter. e.g. `Shop Meet` will match `Meet Shop`. -- `TITLE`, `LOCATION`, `TAG` and `ATTENDEE_NAME` are searched, within the time frame given by `START` and `END`. -- Only full words will be matched e.g. `Meet` will not match `Meeting`. -- If only one field is provided, all Meetings matching at least one keyword will be returned (i.e. `OR` search). - e.g. `m/Shop Meet` will return `Meeting: Shop at mall`, `Meeting: Meet client`. -- If multiple fields are provided, only Meetings matching at least one keyword in each field will be returned (i.e. `AND` search). - e.g. `m/Shop Meet a/Mall` will return `Meeting: Shop at mall, Location: Mall` but not `Meeting: Meet client, Location: Park`. -- This command clears the Meeting that is currently displayed via the `viewm` command. +- All fields are optional. If none are provided, all meetings will be displayed in the meetings list. +- The search is case-insensitive. + - e.g `shop` will match `SHOP`. +- The order of the keywords does not matter. + - e.g. `Shop Meet` will match `Meet Shop`. +- For `TITLE`, `LOCATION`, `TAG` and `ATTENDEE_NAME`, only full words will be matched. + - e.g. `Meet` will not match `Meeting`. +- If searching for a meeting by time, both `START` and `END` times must be provided. Only meetings that begin after and end before the provided `START` and `END` times respectively will be returned. +- Meetings must match at least one keyword in a particular field to be returned. + - e.g. `m/Shop Meet` will return `Meeting: Shop at mall`, `Meeting: Meet client`. +- If multiple fields are provided, meetings must match at least one keyword in all fields to be returned. + - e.g. `m/Shop Meet a/Mall` will return `Meeting: Shop at mall, Location: Mall` but not `Meeting: Meet client, Location: Park`. +- This command clears the meeting that is currently displayed via the `viewm` command. Examples: - `findm m/project` returns `project` and `Project work`. @@ -382,9 +390,9 @@ Format: `addmc MEETING_INDEX CONTACT_INDEX` - Adds the contact you specified with `CONTACT_INDEX` to a meeting specified with `MEETING_INDEX`. - `MEETING_INDEX` refers to the index number shown in the displayed meeting list. - `CONTACT_INDEX` refers to the index number shown in the displayed contact list. -- The indexes **must be positive integers** 1, 2, 3, …​ +- The indexes **must be positive integers** such as 1, 2, 3, …​ - Both `MEETING_INDEX` & `CONTACT_INDEX` must refer to the index of an existing meeting and contact respectively. -- Contact name will be listed in the detailed description of meetings when `viewm` is used. +- The name of the added contact will thereafter be listed in the detailed description of the meeting in the details list, when `viewm` is used on that meeting. Examples: - `addmc 3 1` adds the 1st contact as an attendee to the 3rd meeting in OutBook. @@ -395,11 +403,11 @@ Removes a contact from a meeting. Format: `rmmc MEETING_INDEX ATTENDEE_INDEX` -- Removes a contact at the specified `ATTENDEE_INDEX` to the meeting at the specified `MEETING_INDEX`. +- Removes a contact at the specified `ATTENDEE_INDEX` from the meeting at the specified `MEETING_INDEX`. - `MEETING_INDEX` refers to the index number shown in the displayed meeting list. -- `ATTENDEE_INDEX` refers to the index number of the attendee as shown in `viewm`. -- The indexes **must be positive integers** 1, 2, 3, …​ -- Both `MEETING_INDEX` & `ATTENDEE_INDEX` must refer to the index of an existing meeting or attendee. +- `ATTENDEE_INDEX` refers to the index number of the attendee listed in the detailed description of the meeting in the details list, when `viewm` is used on that meeting. +- The indexes **must be positive integers** such as 1, 2, 3, …​ +- Both `MEETING_INDEX` & `ATTENDEE_INDEX` must refer to the index of an existing meeting and attendee respectively. Examples: - `rmmc 3 2` removes the 2nd attendee from the 3rd meeting in OutBook. @@ -408,52 +416,58 @@ Examples: ### Marking a meeting as complete : `mark` -Marks a meeting in OutBook as complete. All attendees of the meeting will have their LC (last contacted) field updated to the end time of the meeting. +Marks a meeting in OutBook as complete. All attendees of the meeting will have their `LAST_CONTACTED_TIME` field updated to the end time of the meeting. Format: `mark INDEX` - Marks the meeting at the specified `INDEX` as complete. -- The index refers to the index number shown in the displayed meeting list. -- The index **must be a positive integer** 1, 2, 3, …​ +- The `INDEX` refers to the index number shown in the displayed meeting list. +- The `INDEX` **must be a positive integer** such as 1, 2, 3, …​ Examples: - `listm` followed by `mark 2` marks the 2nd meeting in the results of the `listm` command. ## Miscellaneous Commands +### Viewing help : `help` + +Displays a message explaining how to access the help page. + +![help message](images/helpMessage.png) + +Format: `help` + ### Clearing all entries : `clear` -Clears all entries from the displayed list in OutBook. +Clears all entries from the contacts, meetings and details list in OutBook, effectively wiping all data from OutBook. Format: `clear` ### Exiting the program : `exit` -Exits the program. +Closes and exits OutBook. Format: `exit` ## Saving the data -OutBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually. +OutBook data is saved in the hard disk automatically after any command that modifies the data. There is no need to save manually. ### Editing the data file -OutBook data are saved automatically as a JSON file `[JAR file location]/data/outbook.json`. If you are an experienced user, you are welcome to update data directly by editing that data file. +OutBook data is saved as a JSON file `[JAR file location]/data/outbook.json`. If you are an experienced user, you may attempt to update data directly by editing this data file.
:exclamation: **Caution:** -If your changes to the data file makes its format invalid, OutBook 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. -
- -Return to the [Table of Contents](#table-of-contents) +If your changes to the data file render its format invalid, OutBook will discard all data and start with an empty data file at the next run. Hence, it is recommended to make a backup of the file before editing it. + ---- +[Click here to return to the Table of Contents](#table-of-contents)
## Command summary -| Action | Format, Examples | +| Action | Format, Example | |---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **Add contact** | `addc n/NAME p/PHONE_NUMBER e/EMAIL [lc/LAST_CONTACTED_TIME] [r/REMARK] [t/TAG]…​`
e.g., `addc n/James Ho p/22224444 e/jamesho@example.com lc/09.09.2023 0000 t/friend t/colleague` | | **Add contact to meeting** | `addmc MEETING_INDEX CONTACT_INDEX`
e.g., `addmc 2 1` | @@ -473,7 +487,7 @@ Return to the [Table of Contents](#table-of-contents) | **View meeting details** | `viewm INDEX`
e.g., `viewm 4` | | **Exit** | `exit` | -Return to the [Table of Contents](#table-of-contents) +[Click here to return to the Table of Contents](#table-of-contents) --- @@ -481,20 +495,20 @@ Return to the [Table of Contents](#table-of-contents) ## FAQ -**Q**: How do I transfer my data to another Computer?
+**Q**: How do I transfer my data to another computer?
**A**: Follow these steps: -1. Install the app in the other computer. An empty data file will be created in the same folder that the app is in. -2. Overwrite this empty data file with the file that contains the data of your previous OutBook home folder. +1. Install OutBook on the other computer following the same instructions as in the [Quick Start Guide](#quick-start). An empty data file will be created in the same folder as the application. +2. Replace this empty data file with the file that contains the data from your previous OutBook installation. 3. Your transferred data should now be visible upon launching OutBook. -Return to the [Table of Contents](#table-of-contents) +[Click here to return to the Table of Contents](#table-of-contents) --- ## Known issues -1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. +1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. You can solve this by deleting the `preferences.json` file created by the application, before running the application again. -Return to the [Table of Contents](#table-of-contents) +[Click here to return to the Table of Contents](#table-of-contents) --- diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 981b6f0e954..eed70cb1aef 100644 Binary files a/docs/images/Ui.png and b/docs/images/Ui.png differ diff --git a/docs/index.md b/docs/index.md index bd2b5e3d51b..ea8178edb8e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ title: OutBook ![Ui](images/Ui.png) -**OutBook is a desktop app that allows freelance insurance agents to manage their numerous contacts and meeting schedule.** Users can link their contacts to their meetings, to keep track of the personnel attending these meetings. +**OutBook is a desktop application designed for freelance insurance agents, enabling them to effectively organize and oversee their extensive contacts and meeting schedules.** Users can link their contacts to their meetings, to keep track of the people attending these meetings. * If you are interested in using OutBook, head over to the [_Quick Start_ section of the **User Guide**](UserGuide.html#quick-start). * If you are interested about developing OutBook, the [**Developer Guide**](DeveloperGuide.html) is a good place to start.