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`