diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bceb5e3c26e..06cf046d5f4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -4,9 +4,9 @@ pageNav: 3 --- -# AB-3 User Guide +# EduContacts User Guide -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. +EduContacts is a **desktop app for Educators in Tertiary Institution to manage 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. @@ -21,7 +21,7 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo 1. Copy the file to the folder you want to use as the _home folder_ for your AddressBook. -1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar addressbook.jar` command to run the application.
+1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar educontacts.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) @@ -30,9 +30,9 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo * `list` : Lists all contacts. - * `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : Adds a contact named `John Doe` to the Address Book. + * `add 12345678 n/John Doe p/99999999 e/johndoe@example.com a/123 Jane Doe Road c/Computer Science t/Student` : Adds a contact named `John Doe` to EduContacts. - * `delete 3` : Deletes the 3rd contact shown in the current list. + * `delete 12345678` : Deletes a student contact with StudentID `12345678`. * `clear` : Deletes all contacts. @@ -51,18 +51,15 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo * 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.
- 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.
- 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.
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.
e.g. if the command specifies `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. @@ -79,16 +76,11 @@ Format: `help` Adds a person to the address book. -Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​` - - - -**Tip:** A person can have any number of tags (including 0) - +Format: `add ID n/NAME p/PHONE e/EMAIL a/ADDRESS c/COURSE t/TAG` Examples: -* `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` -* `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal` +* `add 12345678 n/John Doe p/99999999 e/johndoe@example.com a/123 Jane Doe Road c/Computer Science t/Student` +* `add 87654321 n/Betsy Crowe t/ Student e/betsycrowe@example.com a/Newgate Prison p/1234567 c/Business Analytics` ### Listing all persons : `list` @@ -100,50 +92,45 @@ Format: `list` Edits an existing person in the address book. -Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​` +Format: `edit ID [FIELD_TO_EDIT_PREFIX] [NEW_VALUE]` -* 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, …​ +* Edits a student's details according to the fields specified. * At least one of the optional fields 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. + Examples: -* `edit 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. -* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. +* `edit 12345678 m/CS2103T CS2101` -### Locating persons by name: `find` +### Listing students by certain attributes : `filter` -Finds persons whose names contain any of the given keywords. +Filter students based on their Names, Courses and Modules. -Format: `find KEYWORD [MORE_KEYWORDS]` +Format: `filter [KEYWORD_PREFIX] [MORE_KEYWORDS]` * 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 John` returns `john` and `John Doe` -* `find alex david` returns `Alex Yeoh`, `David Li`
+* `filter n/John` returns `john` and `John Doe` +* `filter n/alex david` returns `Alex Yeoh`, `David Li` +* `filter m/CS2103T` returns a list of all students with module CS2103T. +* `filter c/Computer Science` returns a list of all students with course Computer Science.
![result for 'find alex david'](images/findAlexDavidResult.png) ### Deleting a person : `delete` Deletes the specified person from the address book. -Format: `delete INDEX` +Format: `delete ID` -* 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, …​ +* Deletes student with the specified `ID`. Examples: -* `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. +* `delete 12345678` will delete student contact with `ID: 12345678`. ### Clearing all entries : `clear` @@ -159,7 +146,7 @@ Format: `exit` ### Saving the data -AddressBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually. +EduContacts data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually. ### Editing the data file @@ -196,10 +183,10 @@ _Details coming soon ..._ Action | Format, Examples -----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------- -**Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` +**Add** | `add ID n/NAME p/PHONE e/EMAIL a/ADDRESS c/COURSE t/TAG`
e.g., `add 12345678 n/John Doe p/99999999 e/johndoe@example.com a/123 Jane Doe Road c/Computer Science t/Student` **Clear** | `clear` -**Delete** | `delete INDEX`
e.g., `delete 3` -**Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` -**Find** | `find KEYWORD [MORE_KEYWORDS]`
e.g., `find James Jake` +**Delete** | `delete ID`
e.g., `delete 12345678` +**Edit** | `edit ID [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [c/COURSE] [t/TAG]…​`
e.g.,`edit 12345678 p/91234567 e/johndoe@example.com` +**Filter** | `find [n/NAME] [c/COURSE] [m/MODULE]`
e.g., `find n/James Jake` **List** | `list` **Help** | `help`