By: W13-4
Since: September 2018
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Valid Inputs
- 4. Features
- 4.1. View Help :
help
- 4.2. Add Student:
add
- 4.3. Delete Student :
delete
- 4.4. Edit Student :
edit
- 4.5. List Students :
list
- 4.6. Find Students :
find
- 4.7. Group Students :
group
- 4.8. Select Student :
select
- 4.9. List Command History :
history
- 4.10. Undo Command :
undo
- 4.11. Redo Command :
redo
- 4.12. Clear TutorHelper :
clear
- 4.13. Record Payment :
paid
- 4.14. Display Earnings :
earnings
- 4.15. Add Subject :
addsub
- 4.16. Delete Subject :
deletesub
- 4.17. Copy Subject :
copysub
- 4.18. Add Syllabus Topic :
addsyll
- 4.19. Remove Syllabus Topic :
deletesyll
- 4.20. Edit Syllabus Topic :
editsyll
- 4.21. Mark Syllabus Topic :
mark
- 4.22. Exit Program :
exit
- 4.23. Save Data
- 4.1. View Help :
- 5. FAQ
- 6. Command Summary
1. Introduction
TutorHelper is for tutors who have trouble managing their students’ details & progress, time of tuition and their own weekly tuition schedule. This project is an all-in-one scheduler.
2. Quick Start
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest version of
TutorHelper
here. -
Copy the file to the folder you want to use as the home folder for your TutorHelper.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
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 s/Mathematics d/Monday 12:00pm
: adds a student namedJohn Doe
to the TutorHelper. -
delete
3
: deletes the 3rd contact shown in the current list -
exit
: exits the app
-
-
Refer to Section 4, “Features” for details of each command.
3. Valid Inputs
3.1. Index
Index should always be an integer. It has a maximum range of 0 (exclusive) to 2,147,483,647 (inclusive). Any index outside of this range will automatically make any command an invalid input.
3.2. Name
Name should only contain alphabetical characters and spaces, and should not be blank.
3.3. Phone
Phone numbers should only be 8 digits long and should not contain spaces.
3.4. Email
-
Emails should be of the format
local-part@domain
-
The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (!#$%&'*+/=?`{|}~^.-) .
-
This is followed by a '@' and then a domain name. The domain name must:
-
be at least 2 characters long
-
start and end with alphanumeric characters
-
consist of alphanumeric characters, a period or a hyphen for the characters in between, if any.
-
3.5. Subjects
Valid subjects are limited to only the following subjects:
Mathematics
, Biology
, Chemistry
, Physics
, Economics
, Geography
, History
, English
, Art
, Music
,
Computing
, Chinese
, Malay
, Tamil
, French
, German
, Japanese
, Literature
-
In order to be valid subjects, the input must be a full substring match of length 3 or more with any of the valid subjects. This is to avoid too short of keyword matching.
-
The match must start at the beginning of the subject name. This is to avoid confusion and multiple matching.
-
Input must be a single word. This is to avoid cases where both invalid and valid keyword are input by user.
-
Matching is case insensitive.
Examples:
-
Biology
,Bio
, orbio
will match withBiology
. -
iology
will not match willBiology
as the match does not start from the beginning. -
Ma
will not matchMathematics
because the length of subtring is shorter than three. -
phy
will only matchPhysics
and will not matchGeography
as matching is done from the beginning of the string. -
Maths
will not matchMathematics
as it is not a full substring match. -
History Literature
will not match anything as it contains more than 1 word.
3.6. TuitionTiming
The days of the week are case sensitive and the valid inputs are:
Monday
, Tuesday
, Wednesday
, Thursday
, Friday
, Saturday
, Sunday
-
The time should follow the 12-hour clock (e.g. 12:00pm)
4. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/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.
4.1. View Help : help
Format: help
4.2. Add Student: add
Adds a student to the TutorHelper
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SUBJECT… d/TUITION TIMING [t/TAG], [MORE TAGS]…
A student can have any number of tags (including 0), and must have at least 1 subject. |
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01, s/Mathematics d/Monday 6:00pm
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01, s/Mathematics s/* d/Monday 6:00pm
will fail due to one invalid subject.
4.3. Delete Student : delete
Deletes the specified student from the TutorHelper.
Format: delete INDEX
Examples:
-
list
delete 2
Deletes the 2nd student in the TutorHelper. -
find Betsy
delete 1
Deletes the 1st student in the results of thefind
command.
4.4. Edit Student : edit
Edits an existing student in the TutorHelper.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [d/TIMING] [t/TAG]…
Examples:
-
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st student to be91234567
andjohndoe@example.com
respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd student to beBetsy Crower
and clears all existing tags.
4.5. List Students : list
Shows a list of all students in the TutorHelper.
Format: list
4.6. Find Students : find
Finds students whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy Tim John
Returns any student having namesBetsy
,Tim
, orJohn
4.7. Group Students : group
Lists all students with the specified tuition timing.
User can choose to group by time or day of the week.
Format: group TIMING
Examples:
-
group Monday
Show all classes on Monday, sorted based on timing. -
group 12:00pm
Show all classes at 12:00pm for the entire week, sorted based on days of the week.
4.8. Select Student : select
Selects the student identified by the index number used in the displayed student list.
Format: select INDEX
Examples:
-
list
select 2
Selects the 2nd student in the TutorHelper. -
find Betsy
select 1
Selects the 1st student in the results of thefind
command.
4.9. List Command History : history
Lists all the commands that you have entered in reverse chronological order.
Format: history
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
4.10. Undo Command : undo
Restores the TutorHelper to the state before the previous undoable command was executed.
Format: undo
Undoable commands: those commands that modify the TutorHelper’s content ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
4.11. Redo Command : redo
Reverses the most recent undo
command.
Format: redo
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
4.12. Clear TutorHelper : clear
Clears all student records from the TutorHelper.
Format: clear
4.13. Record Payment : paid
Records a payment of a specified amount made by a specified student for a specified month and year.
Format: paid STUDENT_INDEX AMOUNT MONTH YEAR
|
Examples:
-
paid 1 200 01 2018
Records a payment of $200 made for January 2018, or overwrites the existing payment entry for January 2018.
4.14. Display Earnings : earnings
Displays total earnings across all students for a specified month of a specified year.
Format: earnings MONTH YEAR
Examples:
-
earnings 01 2018
Displays earnings made for January 2018.
4.15. Add Subject : addsub
Adds a new subject to a specified student. Refer to valid subject inputs under 3. Feature.
Format: addsub STUDENT_INDEX s/SUBJECT
|
Examples:
-
`addsub 1 s/Physics
Adds a subject "Physics" for the first student. -
`addsub 2 s/Mathematics
Adds a subject "Mathematics" for the second student.
4.16. Delete Subject : deletesub
Deletes a subject from a specified student.
Format: deletesub STUDENT_INDEX SUBJECT_INDEX
Attempting to delete the only subject left for a student will throw an error. A student must have at least one subject. |
Examples:
-
deletesub 1 2
Deletes the second subject from the first student. -
deletesub 3 1
Deletes the first subject from the third student.
4.17. Copy Subject : copysub
Copies a subject and all its syllabus topics from a specified student to specified target student. Duplicate syllabus topics will not be added.
Format: copysub SOURCE_STUDENT_INDEX SUBJECT_INDEX TARGET_STUDENT_INDEX
Use find command to display both the source and target student on the list.
|
Examples:
-
copysub 1 1 2
Copies the first subject from the first student to the second student. -
copysub 1 2 3
Copies the second subject from the first student to the third student.
4.18. Add Syllabus Topic : addsyll
Adds new syllabuses topic for a specified student and subject.
Format: addsyll STUDENT_INDEX SUBJECT_INDEX sy/SYLLABUS, [MORE SYLLABUSES…]
|
Examples:
-
addsyll 1 2 sy/Integration
Adds a syllabus topic "Integration" to the second subject of the first student. -
addsyll 3 2 sy/Poisson Distribution
Adds a syllabus topic "Poisson Distribution" to the second subject of the third student.
4.19. Remove Syllabus Topic : deletesyll
Removes a syllabus topic for a specified student and subject.
Format: deletesyll STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
Examples:
-
deletesyll 1 1 2
Removes the second syllabus topic from the first subject of the first student. -
deletesyll 3 1 1
Removes the first syllabus topic from the first subject of the third student.
4.20. Edit Syllabus Topic : editsyll
Edits a syllabus topic for a specified student and subject.
Format: editsyll STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX sy/SYLLABUS
Editing a syllabus topic will automatically unmark it. |
Examples:
-
editsyll 1 1 2 sy/Integration
Changes the second syllabus topic of the first subject of the first student to "Integration". -
editsyll 3 1 1 sy/Kinetic Energy
Changes the first syllabus topic of the first subject of the third student to "Kinetic Energy".
4.21. Mark Syllabus Topic : mark
Toggles the state of a specified syllabus topic for a specified student and subject.
Format: mark STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
Examples:
-
mark 1 1 3
Marks the third syllabus topic of the first subject of the first student. -
mark 2 1 2
Marks the second syllabus topic of the first subject of the second student.
4.22. Exit Program : exit
Exits the program.
Format: exit
4.23. Save Data
TutorHelper data is saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
5. 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 TutorHelper folder.
6. Command Summary
-
View Help :
help
-
Add Student
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
-
Delete Student :
delete INDEX
e.g.delete 3
-
Edit Student :
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…
e.g.edit 2 n/James Lee e/jameslee@example.com
-
List Students :
list
-
Find Students :
find KEYWORD [MORE_KEYWORDS]
e.g.find James Jake
-
Group Students :
group TIMING
e.ggroup Monday
e.ggroup 12:00pm
-
Select Student :
select INDEX
e.g.select 2
-
List Command History :
history
-
Undo Command :
undo
-
Redo Command :
redo
-
Clear TutorHelper :
clear
-
Record Payment :
paid STUDENT_INDEX AMOUNT MONTH YEAR
e.g.paid 1 200 08 2018
-
Display Earnings :
earnings MONTH YEAR
e.g.earnings 01 2018
-
Add Subject :
addsub STUDENT_INDEX s/SUBJECT
e.g.addsub 1 s/Physics
-
Remove Subject :
deletesub STUDENT_INDEX SUBJECT_INDEX
e.g.deletesub 1 2
-
Copy Subject :
copysub SOURCE_STUDENT_INDEX SUBJECT_INDEX TARGET_STUDENT_INDEX
e.g.copysub 1 1 2
-
Add Syllabus Topic :
addsyll STUDENT_INDEX SUBJECT_INDEX sy/SYLLABUS, [MORE SYLLABUS…]
e.g.addsyll 1 2 sy/Integration
-
Remove Syllabus Topic :
deletesyll STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
e.g.deletesyll 1 1 1
-
Edit Syllabus Topic :
editsyll STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX sy/SYLLABUS
e.g.editsyll 1 1 2 sy/Integration
-
Mark Syllabus Topic :
mark STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
e.g.mark 1 1 1
-
Exit TutorHelper :
exit