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
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.
-
Ensure you have Java version
9or later installed in your Computer. -
Download the latest version of
TutorHelperhere. -
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. typinghelpand pressing Enter will open the help window. -
Some example commands you can try:
-
list: lists all contacts -
addn/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 Doeto the TutorHelper. -
delete3: deletes the 3rd contact shown in the current list -
exit: exits the app
-
-
Refer to Section 4, “Features” for details of each command.
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.
-
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.
-
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, orbiowill match withBiology. -
iologywill not match willBiologyas the match does not start from the beginning. -
Mawill not matchMathematicsbecause the length of subtring is shorter than three. -
phywill only matchPhysicsand will not matchGeographyas matching is done from the beginning of the string. -
Mathswill not matchMathematicsas it is not a full substring match. -
History Literaturewill not match anything as it contains more than 1 word.
Command Format
-
Words in
UPPER_CASEare the parameters to be supplied by the user e.g. inadd n/NAME,NAMEis 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/friendor asn/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/familyetc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable.
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. |
-
Student must not have the same name and one of these fields as an existing student: phone number, email and address.
-
Name cannot contain any integer or symbols.
-
Phone number must only be 8 digits long.
-
Tuition timing has to contain a valid day and valid timing in 12 hour format.
-
All inputs need to be valid for the student to be successfully added.
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:00pmwill fail due to one invalid subject.
Deletes the specified student from the TutorHelper.
Format: delete INDEX
-
Deletes the student at the specified
INDEX. -
The index refers to the index number shown in the displayed student list.
-
The index must be a positive integer 1, 2, 3, …
-
The index cannot be more than number of displayed students on list.
Examples:
-
list
delete 2
Deletes the 2nd student in the TutorHelper. -
find Betsy
delete 1
Deletes the 1st student in the results of thefindcommand.
Edits an existing student in the TutorHelper.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SUBJECT] [d/TIMING] [t/TAG]…
-
Edits the student at the specified
INDEX. -
The index refers to the index number shown in the displayed student list.
-
The index must be a positive integer 1, 2, 3, …
-
The index cannot be more than number of displayed students on list.
-
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 student will be removed i.e adding of tags is not cumulative.
-
You can remove all the student’s tags by typing
t/without specifying any tags after it. -
You cannot edit payment entries or syllabus entries using edit, you will need to use paid or editsyll specifically.
Examples:
-
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st student to be91234567andjohndoe@example.comrespectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd student to beBetsy Crowerand clears all existing tags.
Finds students whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
hanswill matchHans -
The order of the keywords does not matter. e.g.
Hans Bowill matchBo Hans -
Only the name is searched.
-
Only full words will be matched e.g.
Hanwill not matchHans -
Students matching at least one keyword will be returned (i.e.
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang
Examples:
-
find John
ReturnsjohnandJohn Doe -
find Betsy Tim John
Returns any student having namesBetsy,Tim, orJohn
Lists all students with the specified tuition timing.
User can choose to group by time or day of the week.
Format: group TIMING
-
Lists all students with the specified
TIMING. -
The timing refers to either a time or day of the week.
-
The day entered is case sensitive. e.g.
Mondayis valid butMONDAYisn’t -
The time entered must be in 12hr format. e.g.
12:00pmis valid but1200isn’t
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.
Selects the student identified by the index number used in the displayed student list.
Format: select INDEX
-
Selects the student and displays the information of the student at the specified
INDEX. -
The index refers to the index number shown in the displayed student list.
-
The index must be a positive integer
1, 2, 3, … -
The index cannot be more than number of displayed students on list.
Examples:
-
list
select 2
Selects the 2nd student in the TutorHelper. -
find Betsy
select 1
Selects the 1st student in the results of thefindcommand.
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. |
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 1command) -
select 1
list
undo
Theundocommand fails as there are no undoable commands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
Reverses the most recent undo command.
Format: redo
Examples:
-
delete 1
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command) -
delete 1
redo
Theredocommand fails as there are noundocommands executed previously. -
delete 1
clear
undo(reverses theclearcommand)
undo(reverses thedelete 1command)
redo(reapplies thedelete 1command)
redo(reapplies theclearcommand)
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
|
ℹ️
|
|
-
Records a payment of a specified
AMOUNTfor the student at the specifiedSTUDENT_INDEX, for a specifiedMONTHandYEAR. -
The student index refers to the index number shown in the displayed student list.
-
The student index, month and year must be positive integers 1, 2, 3, …
-
The index cannot be more than number of displayed students on list.
Examples:
-
paid 1 200 01 2018
Records a payment of $200 made for January 2018, or overwrites the existing payment entry for January 2018.
Displays total earnings across all students for a specified month of a specified year.
Format: earnings MONTH YEAR
-
Display tutor earnings across all students for a specified
MONTHof a specifiedYEAR. -
The month and year must be positive integers 1, 2, 3, …
Examples:
-
earnings 01 2018
Displays earnings made for January 2018.
Adds a new subject to a specified student. Refer to valid subject inputs under 3. Feature.
Format: addsub STUDENT_INDEX s/SUBJECT
|
ℹ️
|
|
-
Adds a new subject
SUBJECTfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The student index must be a positive integer 1, 2, 3, …
-
The index cannot be more than number of displayed students on list.
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.
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. |
-
Deletes a subject at the specified
SUBJECT_INDEXfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The student index and subject index must be positive integers 1, 2, 3, …
-
The index cannot be more than number of displayed students on list.
Examples:
-
deletesub 1 2
Deletes the second subject from the first student. -
deletesub 3 1
Deletes the first subject from the third student.
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.
|
-
Copies a subject (and all its syllabus topics) at the specified
SUBJECT_INDEXfrom the student at the specifiedSOURCE_STUDENT_INDEXto the student at the specifiedTARGET_STUDENT_INDEX. -
The source and target student indexes refer to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The subject index and source and target student indexes must be positive integers 1, 2, 3, …
-
The student index cannot be more than number of displayed students on 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.
Adds new syllabuses topic for a specified student and subject.
Format: addsyll STUDENT_INDEX SUBJECT_INDEX sy/SYLLABUS, [MORE SYLLABUSES…]
|
ℹ️
|
|
-
Adds a new syllabus topic
SYLLABUSfor a subject at the specifiedSUBJECT_INDEXfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The student index and subject index must be positive integers 1, 2, 3, …
-
The student index cannot be more than number of displayed students on list.
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.
Removes a syllabus topic for a specified student and subject.
Format: deletesyll STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
-
Removes a syllabus topic at the specified
SYLLABUS_INDEXfor a subject at the specifiedSUBJECT_INDEXfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The syllabus index refers to the index number shown in the student’s list of syllabus topics for a subject.
-
The student index, subject index and syllabus index must be positive integers 1, 2, 3, …
-
The student index cannot be more than number of displayed students on list.
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.
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. |
-
Edits a syllabus topic at the specified
SYLLABUS_INDEXfor a subject at the specifiedSUBJECT_INDEXfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The syllabus index refers to the index number shown in the student’s list of syllabus topics for a subject.
-
The student index, subject index and syllabus index must be positive integers 1, 2, 3, …
-
The student index cannot be more than number of displayed students on list.
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".
Toggles the state of a specified syllabus topic for a specified student and subject.
Format: mark STUDENT_INDEX SUBJECT_INDEX SYLLABUS_INDEX
-
Toggle the state of a syllabus topic at the specified
SYLLABUS_INDEXfor a subject at the specifiedSUBJECT_INDEXfor a student at the specifiedSTUDENT_INDEX. -
The student index refers to the index number shown in the displayed student list.
-
The subject index refers to the index number shown in the student’s subject list.
-
The syllabus index refers to the index number shown in the student’s list of syllabus topics for a subject.
-
The student index, subject index and syllabus index must be positive integers 1, 2, 3, …
-
The student index cannot be more than number of displayed students on list.
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.
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.
-
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
