diff --git a/README.md b/README.md
index 47c01884518..a252d21de6a 100644
--- a/README.md
+++ b/README.md
@@ -2,14 +2,10 @@
![Ui](docs/images/Ui.png)
-* This is **a project for Software Engineering (SE) students**.
- Example usages:
- * as a starting point of a course project (as opposed to writing everything from scratch)
- * as a case study
-* The project simulates an ongoing software project for a desktop application (called _AddressBook_) used for managing contact details.
- * It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big.
- * It comes with a **reasonable level of user and developer documentation**.
-* It is named `Teacher's Pet` (`TP` for short) because it was designed to target the needs of teachers.
+* Teacher’s Pet is a desktop application for managing contacts of students and classes, optimised for use via a Command
+Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Teacher’s
+Pet can get your contact and class management tasks done faster than traditional GUI apps.
+* It is named `Teacher's Pet` (`TP` for short) because it was designed to assist teachers.
* For the detailed documentation of this project, see the **[Teacher's Pet Product Website](https://ay2223s1-cs2103t-t09-4.github.io/tp/)**.
* This project is a **part of the se-education.org** initiative. If you would like to contribute code to this project, see [se-education.org](https://se-education.org#https://se-education.org/#contributing) for more info.
* This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).
diff --git a/docs/AboutUs.md b/docs/AboutUs.md
index f379713c7d9..e5c9d8d6cae 100644
--- a/docs/AboutUs.md
+++ b/docs/AboutUs.md
@@ -5,7 +5,6 @@ title: About Us
We are a team based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg).
-You can reach us at the email `seer[at]comp.nus.edu.sg`
## Project team
@@ -13,9 +12,8 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
-[[homepage](http://www.comp.nus.edu.sg/~damithch)]
-[[github](https://github.com/johndoe)
-[portfolio](team/johndoe.md)]
+[[github](https://github.com/cadencjk)
+[portfolio](team/cadencjk.md)]
* Role: Project Advisor
@@ -33,7 +31,8 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
-[[github](http://github.com/johndoe)] [[portfolio](team/johndoe.md)]
+[[github](https://github.com/sjoann)]
+[[portfolio](team/sjoann.md)]
* Role: Developer
* Responsibilities: Data
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 367bca7f0d5..d66eb855274 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -1,5 +1,3 @@
-# Developer Guide
-
# Product Scope
## Target User Profile
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 68e630c0fae..a4de501ae53 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -1,15 +1,16 @@
-# Teacher's Pet User Guide (v1.2)
-
Teacher’s Pet is a desktop application for managing contacts of students and classes, optimised for use via a
Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast,
Teacher’s Pet can get your contact and class management tasks done faster than traditional GUI apps.
+* Table of Contents
+ {:toc}
+
---
## Quick start
1. Ensure you have Java `11` or above installed in your Computer.
-2. Download the latest `teacherpet.jar` from …
+2. Download the latest `teacherpet.jar` from https://github.com/AY2223S1-CS2103T-T09-4/tp/releases when made available.
3. Copy the file to the folder you want to use as the *home folder* for your application.
4. Double-click the file to start the app. The GUI similar to the below should appear in a few seconds.
Note how the app contains some sample data.
@@ -23,21 +24,22 @@ Teacher’s Pet can get your contact and class management tasks done faster than
Our application is divided into 5 areas to maximise productivity, the specific uses are:
-- Input Command - The dialog box where all user interaction are held
+- Input Command - The dialog box where all user interaction are held.
- Application’s Reply - A short answer whether the application has executed the command, or an error message if the
- application did not understand the command
-- Student's Details - A window that will display the details of the student(s)
+ application did not understand the command.
+- Student's Details - A window that will display the details of the student(s).
- Statistics Window - A window that shows all the statistics of the tutor, such as the number of students and
-the money collected/owed
-- Day’s Schedule List - A scroll window which shows the schedule for the day, sorted by time
+the money collected/owed.
+- Day’s Schedule List - A scroll window which shows the schedule for the day, sorted by time.
+Basic Instructions:
1. Type the 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:
- - `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.
- - `delete 3`: Deletes the 3rd contact shown in the current list.
- - `clear`: Deletes all contacts.
+ - `list`: Lists all students.
+ - `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01`: Adds a student named
+ `John Doe` to the student list.
+ - `delete 3`: Deletes the 3rd student shown in the current list.
+ - `clear`: Deletes all students.
- `exit`: Exits the app.
2. Refer to the Features below for details of each command.
@@ -49,8 +51,8 @@ the money collected/owed
- 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.
+- 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 ` ` (e.g.
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.
@@ -65,8 +67,6 @@ Shows a message explaining how to access the help page.
Format: `help`
-Example: `help`
-
![Help](images/UiHelp.png)
---
@@ -76,47 +76,43 @@ Example: `help`
Adds a student to the Teacher’s Pet.
-1. Student’s Name
- - Student’s Name must not be empty
- - Student’s Name must only contain alphabetical letters.
+1. Student’s Name:
+ - Student’s Name must not be empty.
+ - Student’s Name must only contain alphanumeric characters.
```yaml
-Note: Duplicates students are not allowed!
+Note: Multiple students may share the same name.
```
-2. Student’s Contact Number
- - Contact number must only contain numerical digits between `0` and `9`
- - White spaces between numbers will be automatically removed. eg: `8123 4556` will be converted to `81234567`
- - Number must have 8 digits and starts with either ‘8’ or ‘9’
+2. Student’s Contact Number:
+ - Contact number must only contain numerical digits between `0` and `9`.
```yaml
-Note: Contact number cannot be empty. It must contain at least 1 digit.
+Note: Contact number must contain at least 3 digits. Contact number must be unique.
```
-3. Next of Kin’s Number
- - Next of Kin’s Number must only contain numerical digits between `0` and `9`
- - Next of Kin’s Number must have 8 digits and starts with either ‘8’ or ‘9’
- - White spaces between numbers will be automatically removed. eg: `8123 4556` will be converted to `81234567`
+3. Next of Kin’s Number:
+ - Next of Kin’s number must only contain numerical digits between `0` and `9`.
```yaml
-Note: Next of Kin’s number cannot be empty. It must contain at least 1 digit.
+Note: Next of Kin’s number cannot be empty. It must contain at least 3 digits.
```
-4. Address
- - Address must not be empty
- - Address may contain any kinds of character
-
+4. Address:
+ - Address must not be empty.
+ - Address may contain any kinds of character.
```yaml
Note: Address cannot be empty. It must contain at least 1 character.
```
-5. Email
- - Email may contain any kinds of `character`, other than white space ` `
- - Email must contain a `@`
+5. Email:
+ - Email should be in the format of `local@domain`, where:
+ - Local address should only contain alphanumeric characters and these special characters `+_.-`.
+ - Domain address should be least 2 characters long.
```yaml
-Note: Email cannot be empty. It must contain at least 1 character.
+Note: Email cannot be empty. It must fulfil the above requirements.
```
-6. Class Date
- - Class Date must be in the format YYYY-MM-DD {start time}-{end time}
+6. Class Date:
+ - Class Date must be in the format YYYY-MM-DD {start time}-{end time}.
```yaml
Note: Start time and End time must be in 24hour format.
@@ -136,7 +132,7 @@ Note: Amount paid, Amount owed, Additional notes fields are to be updated via `e
---
-### Edit student details: `edit`
+### Editing student details: `edit`
Edits an existing student in the list.
@@ -149,22 +145,27 @@ Edits an existing student in the list.
- Amount owed
- Additional notes
-1. Student's Name, Phone number, Next of Kin’s phone number, Email, Address, and Class Date follow the same convention as in Adding a student:
- [`add` section](#adding-a-studentadd)
-2. Amount paid
+1. Student's Name, Phone number, Next of Kin’s phone number, Email, Address, and Class Date follow
+the same convention as [adding a student](#adding-a-student).
+
+2. Amount paid:
- Amount paid can be an integer or a double.
- - Amount paid must be non negative.
-3. Amount owed
+ - Amount paid must be non-negative.
+
+3. Amount owed:
- Amount owed can be an integer or a double.
- - Amount owed must be non negative.
+ - Amount owed must be non-negative.
- Amount owed and Amount paid are modified independent of each other.
-4. Additional notes
- - Additional notes is a String and can be empty.
```yaml
-Important:
-- note **at least one** of these fields must exist in order to make the
- `edit` command valid.
+Note: Amount paid, Amount owed can only be between $0 and $2147483647.
+```
+
+4. Additional notes:
+ - Additional notes can be left empty.
+ - Additional notes can take in any types of character.
+```yaml
+Important: Note **at least one** of these fields must exist in order to make the `edit` command valid.
```
Format: `edit INDEX [n/NAME] [p/CONTACT_NUMBER] [np/NEXT_OF_KIN_CONTACT_NUMBER] [e/EMAIL] [dt/CLASS_DATE] [a/ADDRESS]
@@ -177,7 +178,7 @@ Example:
![UiEdit](images/UiEdit.png)
---
-### View all students: `list`
+### Viewing all students: `list`
Allows the user to view students and their information which includes:
@@ -194,6 +195,55 @@ Format: `list`
![UiUList](images/UiList.png)
+---
+### Finding a student : `find`
+
+Finds students whose names contain any of the given keywords.
+
+Format: `find KEYWORD [MORE_KEYWORDS]`
+
+- The search is case-insensitive. e.g. `alex` will match `Alex`.
+- The order of the keywords does not matter. e.g. `Yeoh Alex` will match `Alex Yeoh`.
+- 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. e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`.
+
+Example:
+
+`find tan` returns `Tan Xiao Ming` and `John Tan`.
+
+![UiFind](images/UiFind.png)
+
+---
+### Deleting a student: 'delete'
+
+Deletes the specified person from the student list.
+
+Format: `delete INDEX`
+
+- Deletes the person at the specified `INDEX`.
+- The index refers to the index number shown in the Student's Details panel (bottom left).
+- The index must be a positive integer. e.g. `1, 2, 3, ...`.
+
+Examples:
+- `list` followed by `delete 2` deletes the 2nd person in the Student's Details panel.
+- `find Betsy` followed by `delete 1` deletes the 1st person in the Stundent's Details panel.
+
+```yaml
+❗ Caution: Deleting a student is irreversible! Please ensure the correct index number.
+```
+
+---
+### Clearing all student: 'clear'
+
+Clears all students and their details from the list.
+
+Format: `clear`
+
+```yaml
+❗ Caution: Clearing all students is irreversible!
+```
+
---
### Exiting the program : `exit`
@@ -219,7 +269,7 @@ Students' data is saved as a JSON file `[JAR file location]/data/addressbook.jso
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.
+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 Teacher's Pet home folder.
---
@@ -231,7 +281,7 @@ A: Install the app in the other computer and overwrite the empty data file it cr
| Edit a student | edit INDEX [n/NAME] [p/CONTACT_NUMBER] [np/NEXT_OF_KIN_CONTACT_NUMBER] [e/EMAIL] [dt/CLASS_DATE] [a/ADDRESS] [paid/AMOUNT_PAID] [owed/AMOUNT_OWED] [nt/ADDITIONAL_NOTES] `e.g., edit 2 p/98765431` |
| Get help | `help` |
| List all students | `list` |
-| Find a student | find [NAME] `e.g., find John Doe` |
+| Find a student | find NAME `e.g., find John Doe` |
| Delete a student | delete INDEX `e.g., delete 2` |
| Clear all students | `clear` |
| Exit the application | `exit` |
diff --git a/docs/images/UiFind.png b/docs/images/UiFind.png
new file mode 100644
index 00000000000..f5360def76a
Binary files /dev/null and b/docs/images/UiFind.png differ
diff --git a/docs/images/UiHelp.png b/docs/images/UiHelp.png
index 91fcc0b1a92..81030d8bbf1 100644
Binary files a/docs/images/UiHelp.png and b/docs/images/UiHelp.png differ
diff --git a/docs/index.md b/docs/index.md
index f3e1d310ef5..51c9078fe30 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,6 +1,6 @@
---
layout: page
-title: AddressBook Level-3
+title: Teacher's Pet
---
[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions)
diff --git a/docs/team/johndoe.md b/docs/team/johndoe.md
deleted file mode 100644
index 773a07794e2..00000000000
--- a/docs/team/johndoe.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: page
-title: John Doe's Project Portfolio Page
----
-
-### Project: AddressBook Level 3
-
-AddressBook - Level 3 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
-
-Given below are my contributions to the project.
-
-* **New Feature**: Added the ability to undo/redo previous commands.
- * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
- * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
- * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
- * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}*
-
-* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys.
-
-* **Code contributed**: [RepoSense link]()
-
-* **Project management**:
- * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
-
-* **Enhancements to existing features**:
- * Updated the GUI color scheme (Pull requests [\#33](), [\#34]())
- * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]())
-
-* **Documentation**:
- * User Guide:
- * Added documentation for the features `delete` and `find` [\#72]()
- * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]()
- * Developer Guide:
- * Added implementation details of the `delete` feature.
-
-* **Community**:
- * PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]()
- * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())
- * Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]())
- * Some parts of the history feature I added was adopted by several other class mates ([1](), [2]())
-
-* **Tools**:
- * Integrated a third party library (Natty) to the project ([\#42]())
- * Integrated a new Github plugin (CircleCI) to the team repo
-
-* _{you can add/remove categories in the list above}_
diff --git a/src/main/java/seedu/address/ui/HelpWindow.java b/src/main/java/seedu/address/ui/HelpWindow.java
index ccbc9576cee..65555f91ca8 100644
--- a/src/main/java/seedu/address/ui/HelpWindow.java
+++ b/src/main/java/seedu/address/ui/HelpWindow.java
@@ -16,7 +16,7 @@
public class HelpWindow extends UiPart {
public static final String USERGUIDE_URL =
- "https://github.com/AY2223S1-CS2103T-T09-4/tp/blob/master/docs/UserGuide.md";
+ "https://ay2223s1-cs2103t-t09-4.github.io/tp/UserGuide.html";
public static final String HELP_MESSAGE = "Refer to the user guide: " + USERGUIDE_URL;
private static final Logger logger = LogsCenter.getLogger(HelpWindow.class);