User Guide
- Introduction
- About This Document
- Quick Start
-
Features
- Viewing help:
help
- Listing all tutors:
list
- Viewing a tutor:
view
- Adding a tutor:
add
- Editing a tutor:
edit
- Commenting on a tutor:
comment
- Deleting comments on a tutor:
deletecomment
ordc
- Search for tutor by attribute:
find
- Contacting tutors via email:
mail
- Sorting tutors by quantitative measures:
sort
- Deleting a tutor:
delete
- Clearing all entries:
clear
- Exiting the program:
exit
- Viewing help:
- Command Summary
- FAQ
- Glossary
Introduction
Hi Profs! Welcome to the User Guide for Tuthub, a Command Line Interface (CLI) App that will help you find your next batch of teaching assistants (TA) in no time!
Tuthub is a desktop app for NUS professors who wish to track and choose their next batch of teaching assistants/tutors based on their past performance and records but have little time to spare for tedious administrative work. Tuthub helps profs who can type fast find the best TAs faster than traditional Graphical User Interface (GUI) apps.
About This Document
This section will introduce you to the symbols frequently used in this User Guide as well as Tuthub application layout and command format to aid your understanding of the document.
If you would like to:
- Install Tuthub and try out some quick commands, please visit our Quick Start section.
- Find out more comprehensive details about Tuthub commands, please visit our Features section.
- Find out more about specific terms used, please visit our Glossary.
Symbols and Syntax
Symbol | What it means |
---|---|
highlights |
Executable commands or possible parameters that can be entered into the CLI, or in some cases, some technical terms. |
![]() |
Additional information that may be useful to know |
![]() |
Tips to improve the Tuthub experience |
![]() |
Things to be cautious of and should be followed closely |
Layout of Tuthub Application Window
The image below shows a Tuthub Application Window (with a tutor profile selected) with all its sections labelled.
The following table describes the sections in detail:
No. | Section | Description |
---|---|---|
1 | Toolbars |
Contains buttons to exit the app/view help. |
2 | Command Box |
Accepts text input for you to type in your commands. |
3 | Result Display Box |
Displays various messages (e.g. success/error messages) after commands are entered. |
4 | Tutor List Card |
Displays condensed information of a tutor saved in Tuthub. |
5 | Tutor List Panel |
Displays the entire/filtered list of tutors saved in Tuthub. |
6 | Tutor Details Pane |
Displays full details of a tutor saved in Tuthub. |
7 | Storage File Location |
Displays the location of your Tuthub data file. |
Command Format
Some general rules that Tuthub commands follow:
-
Words in
UPPER_CASE
are the parameters to be supplied by you.
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/good
or asn/John Doe
. -
Items with
…
after them can be used as many times as the user would like.
e.g.[t/TAG]…
can be used multiple times liket/good
ort/good t/highRatings
, or can be omitted altogether.
Frequently Used Command Parameters
Some notes about parameters:
-
Parameters with a prefix can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If a parameter is expected only once in the command but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Commands that do not take in parameters (such as
help
,list
,exit
andclear
) will ignore follow-up inputs.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Parameter | Note |
---|---|
INDEX |
- Index refers to a valid index number shown in displayed tutor list and must be a positive integer, i.e. 1, 2, 3, …. |
NAME |
- Names must contain at least 1 word, and at most 1 space is allowed between words. - Only English alphabets and the symbols / ,' ,- are accepted and cannot be surrounded by spaces. e.g. Smith - Jones is invalid, but Smith-Jones is valid. |
PHONE_NUMBER |
- Phone numbers can only contain digits, i.e.0-9 and must be at least 3 digits long. |
EMAIL |
- Emails must be the tutor’s NUSNet ID, e.g. E1234567 or E1234567@u.nus.edu , where the E is case-insensitive. - If @u.nus.edu is not provided, Tuthub will automatically append it for you. |
MODULE |
- Modules consist of the following (in order): 2 compulsory letters, 2 optional letters, 4 compulsory digits, 2 optional letters. |
YEAR |
- Year takes in an integer from 1 to 6. |
STUDENT_ID |
- Student IDs consists of an A followed by 7 digits and any single capital letter behind. |
TEACHING_NOMINATIONS |
- Teaching nominations take in positive integers including 0. Leading zeros in the teaching nominations will not be allowed. e.g. 00001 is invalid. |
RATING |
- Ratings take in numbers between 0 and 5 inclusive. - Decimal values are optional but only a maximum of 2 decimals is allowed. |
TAG |
- A tutor can have any number of tags (including 0). - Tags should be alphanumeric and should not contain any spaces. |
Quick Start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
tuthub.jar
here. -
Copy the file to the folder you want to use as the home folder for Tuthub.
-
Double-click the file to start the app. The GUI should appear within a few seconds. Note how the app contains some sample data, as shown below:
-
Type the command in the ‘Command Box’ and press Enter to execute it.
Some example commands you can try:-
list
: Lists all tutors. -
view 3
: Displays full details of the 3rd tutor shown in the current list. -
add n/John Doe p/98765432 e/e1234567 m/CS2100 y/3 s/A0123456X tn/1 r/5.0
: Adds a tutor namedJohn Doe
to Tuthub. -
find n/alex
: Finds all tutors with names containing alex. -
delete 3
: Deletes the 3rd tutor shown in the current list. -
clear
: Deletes all tutors. -
comment 1 c/Always on time
: Adds a comment to the first tutor that he is always on time. -
exit
: Exits the Tuthub app.
-
-
If you would like to find out more, refer to Features below for comprehensive details of each command.
Features
Viewing help: help
If you are new to Tuthub or need a refresher for available commands, help
displays a table of Tuthub command summary and a link to our User Guide for your convenience.
Format: help
Note:
Empty commands (e.g. whitespace) will display the usage of the
help
command to redirect new users to the list of commands.
Tip:
You may also click on the
Help Toolbar
to access the command summary table.
Listing all tutors: list
Shows a list of all tutors registered in Tuthub.
Format: list
Viewing a tutor: view
If you would like to find out more about a particular tutor, view a tutor to see all available information about their contact details and past performance.
Format: view INDEX
Examples:
-
view 2
causes the correspondingTutor Details Pane
of the 2nd tutor to appear on the right, as shown below:
Tip:
You may also click on a
Tutor List Card
to execute a view
command instead
Adding a tutor: add
Found a new tutor who’s not already recorded in Tuthub? Simply add them in!
Format: add n/NAME p/PHONE_NUMBER e/EMAIL m/MODULE y/YEAR s/STUDENT_ID tn/TEACHING_NOMINATIONS r/RATING [t/TAG]…
Note:
Tutors are regarded as the same if they have the same email or student ID!
Tip:
Refer to this section for more information about various parameters!
Examples:
-
add n/Betsy Crowe t/seniorTa e/e1134567 m/CS1101S y/3 p/1234567 s/A1123456X tn/2 r/4.5
adds a new tutor, Betsy Crowe, as shown in the screenshot (after viewing):
Editing a tutor: edit
Edits an existing tutor in Tuthub. This is useful for updating information of tutors that has changed or has been wrongly input.
Format: edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [m/MODULE] [y/YEAR] [s/STUDENT_ID] [tn/TEACHING_NOMINATIONS] [r/RATING] [t/TAG]…
Note:
- 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 tutor will be removed i.e. adding of tags is not cumulative.
- To remove all tags from a tutor, type
t/
without specifying any tags after it, i.e.edit 1 t/
.
Tip:
Refer to this section for more information about various parameters!
Examples:
-
edit 1 p/91234567 e/e7654321
Edits the phone number and email address of the 1st tutor to be 91234567 and e7654321@u.nus.edu respectively. -
edit 2 n/Betsy Crower t/
Edits the name of the 2nd tutor to be Betsy Crower and clears all existing tags, as shown below:
-
edit 3 m/CS2100 y/3 s/A0654729L
Edits the module code, year, and student id of the 3rd tutor to be CS2100, 3, and A0654729L respectively. -
edit 3 tn/2 r/4.58
Edits the number of teaching nominations and rating of the 3rd tutor to be 2 and 4.58 respectively.
Commenting on a tutor: comment
Tracking a tutor? Use the comment command to add comments to a tutor.
Format: comment INDEX c/COMMENT
Examples:
-
comment 1 c/Tasks not Finished
adds a comment of “Tasks not Finished” on the 1st tutor, reflected on theirTutor Details Pane
as shown below:
Deleting comments on a tutor: deletecomment
or dc
Deletes a specific comment from the specified tutor.
Format: deletecomment TUTOR_INDEX COMMENT_INDEX
or dc TUTOR_INDEX COMMENT_INDEX
Note:
-
TUTOR_INDEX
refers to the index number shown in the displayed tutor list. -
COMMENT_INDEX
refers to the index number of the comment shown in the comment section. - Both indices must be positive integers 1, 2, 3, …
Examples:
-
deletecomment 1 1
anddc 1 1
deletes the 1st comment from the 1st tutor.
Search for tutor by attribute: find
Searching for tutors that teach relevant or specific modules? Looking for tutors with the best ratings? The find command allows you to do so by searching through the list of tutors based on specified attributes of the tutors along with the search keywords provided.
Format: find PREFIX/KEYWORDS [KEYWORDS]
Note:
- The find command works by entering only one prefix corresponding to a tutor’s profile attribute, followed by the keyword(s) to search
- Multiple find commands executed consecutively do not act upon the list of tutors that each find command has resulted in. e.g. Entering
find m/cs2100
afterfind n/alex
will not find tutors teaching CS2100 from the list of tutors thatfind n/alex
outputted. - The search is case-insensitive. e.g.
find n/hans
will matchHans
- The order of the keywords does not matter. e.g.
find n/Hans Bo
will matchBo Hans
- Only the attribute that corresponds to the prefix entered is searched.
-
Partial words will be matched for the following tutor attributes:
NAME
,PHONE_NUMBER
,EMAIL
,MODULE
,YEAR
,STUDENT_ID
,TEACHING_NOMINATIONS
,TAG
. e.g.find n/Han
will matchHans
- For
Rating
attribute, matching is done based on whether the rating of a tutor starts with the keywords searched. e.g.find r/4
will match both4.99
and4.15
- Tutors with attributes being searched that match at least one keyword will be returned (i.e. OR search). e.g.
find n/Hans Bo
will returnHans Gruber
andBo Yang
Tip:
Refer to this section for more information about various parameters!
Examples:
-
find n/John
returns all tutors with names that containsJohn
. -
find n/alex david
returns all tutors with names that containAlex
orDavid
, as shown below:
-
find p/98765432 99999999
returns the tutors with phone number98765432
or99999999
. -
find e/e1234567 e7654321
returns the tutors with emaile1234567@u.nus.edu
ore7654321@u.nus.edu
. -
find m/cs2100 cs2105
returns the tutors teaching modulecs2100
orcs2105
. -
find y/4
returns all tutors who are in year4
of their studies. -
find s/A0123456X A0123456Y
returns the tutors with student idA0123456X
orA0123456Y
. -
find tn/3
returns all tutors that have3
teaching nominations. -
find r/4.0
returns all tutors that have rating of4.0
. -
find r/4
returns all tutors that having rating starting with4
. -
find t/senior
returns all tutors that have a tag containingsenior
, as shown below:
Contacting tutors via email: mail
Contacting targeted tutors is made easy with the mail command. The command opens the user’s default mail client and specifies the “to” section in emails with the targeted tutors.
Format: mail INDEX
or mail all
Note:
-
INDEX
refers to any index in range of the tutor list. -
all
allows you to email all the current tutors displayed in the tutor list.
Examples:
-
mail 3
opens the user’s default mail client with the “to” specified as the third tutor’s email. -
mail all
opens the user’s default mail client with the “to” specified as all the currently displayed tutors’ emails, as shown below.
Sorting tutors by quantitative measures: sort
Looking for tutors with the best reviews? The sort command allows you to sort the list of tutors in ascending or descending order based on different quantitative measures, such as rating and teaching nomination. More specifications on the sort command is visible below.
Format: sort ORDER PREFIX
Note:
-
ORDER
can be one of the two values:a
(ascending) ord
(descending). -
PREFIX
refers to one of the prefixes of quantitative measures (e.g.r/
). - Currently, sort is implemented for the prefixes
r/
(RATING
) andtn/
(TEACHING_NOMINATIONS
). - Sort only accepts one prefix, hence
sort a tn/ r/
will return an error.
Examples:
-
sort a r/
sorts the tutors in ascending order (low to high) based on tutor ratings. -
sort d tn/
sorts the tutors in descending order (high to low) based on tutor teaching nominations.
Deleting a tutor: delete
Deletes the specified tutors from Tuthub. This could be useful if you are removing tutors that have already graduated or if you are trying to better organise Tuthub to only contain tutors that you have hired.
Format: delete INDEX
Caution: Deleting a tutor is irreversible! Only enter this command when you are very sure that the tutor profile is not needed anymore!
Examples:
-
list
followed bydelete 2
deletes the 2nd tutor in Tuthub. -
find n/Betsy
followed bydelete 1
deletes the 1st tutor with name containingBetsy
in the results of thefind
command (given that such tutor exists).
Clearing all entries: clear
Clears all entries from Tuthub. You may find this particularly useful if you would like to clear all the sample data when using Tuthub for the first time.
Format: clear
Caution: Clearing all the data is irreversible! Only enter this command when you are very sure that all the existing tutor profiles are not needed!
Exiting the program: exit
Exits Tuthub app.
Format: exit
Command Summary
Action | Format | Examples (if any) |
---|---|---|
See Help | help |
|
List All Tutors | list |
|
View a Tutor | view |
view 1 |
Add Tutor | add n/NAME p/PHONE_NUMBER e/EMAIL y/YEAR m/MODULE s/STUDENT_ID tn/TEACHING_NOMINATIONS r/RATING [t/TAG]… |
add n/Betsy Crowe e/E1234567@u.nus.edu p/1234567 m/CS1101S y/3 s/A0123456X tn/1 r/4.99 t/senior |
Comment on a Tutor | comment INDEX c/COMMENT |
comment 1 c/Tasks not Finished |
Delete a Comment |
deletecomment TUTORINDEX COMMENTINDEX or dc TUTORINDEX COMMENTINDEX
|
deletecomment 1 1 , dc 1 1
|
Edit a Tutor’s Details | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [m/MODULE] [y/YEAR] [s/STUDENT_ID] [tn/TEACHING_NOMINATIONS] [r/RATING] [t/TAG]… |
edit 3 m/CS2100 y/3 s/A0654729L |
Find a Tutor | find PREFIX/KEYWORDS [KEYWORDS] |
find n/Alex |
Mail Tutor(s) | mail INDEX or "all" |
mail 3 , mail all
|
Sort Tutor List | sort ORDER PREFIX |
sort a r/ |
Delete a Tutor | delete INDEX |
delete 3 |
Clear Tutor List | clear |
|
Exit Tuthub | exit |
FAQ
Q: How do I save my data in Tuthub?
A: Tuthub data are saved in the hard disk automatically after any command is executed. There is no need to save manually.
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 Tuthub home folder.
Q: Why is my previous data not loaded properly into Tuthub?
A: It is highly likely that your data storage file has something in the wrong format. It is recommended to check the log files to see what happened when Tuthub started up.
Glossary
Term | Definition |
---|---|
Command Line Interface (CLI) | A text-based interface where users may interact with the system by typing in commands. |
Graphical User Interface (GUI) | A graphic-based interface where users may interact with graphical components (e.g. icons and menus) to interact with the system. |
JAR File | Java Archive File with multiple files compressed into one and may be an executable. |
Java | A widely used programming language. |
Javascript Object Notation (JSON) | A lightweight format for storing and transporting data. |
Parameter | A specific tutor detail to be provided for a command to run. |