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:
deletecommentordc - 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_CASEare the parameters to be supplied by you.
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/goodor 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/goodort/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/NAMEis 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/56785678will be taken. -
Commands that do not take in parameters (such as
help,list,exitandclear) 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
11or above installed in your Computer. -
Download the latest
tuthub.jarhere. -
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 Doeto 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 2causes the correspondingTutor Details Paneof 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.5adds 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/e7654321Edits 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/A0654729LEdits the module code, year, and student id of the 3rd tutor to be CS2100, 3, and A0654729L respectively. -
edit 3 tn/2 r/4.58Edits 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 Finishedadds a comment of “Tasks not Finished” on the 1st tutor, reflected on theirTutor Details Paneas 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_INDEXrefers to the index number shown in the displayed tutor list. -
COMMENT_INDEXrefers to the index number of the comment shown in the comment section. - Both indices must be positive integers 1, 2, 3, …
Examples:
-
deletecomment 1 1anddc 1 1deletes 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/cs2100afterfind n/alexwill not find tutors teaching CS2100 from the list of tutors thatfind n/alexoutputted. - The search is case-insensitive. e.g.
find n/hanswill matchHans - The order of the keywords does not matter. e.g.
find n/Hans Bowill 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/Hanwill matchHans - For
Ratingattribute, matching is done based on whether the rating of a tutor starts with the keywords searched. e.g.find r/4will match both4.99and4.15 - Tutors with attributes being searched that match at least one keyword will be returned (i.e. OR search). e.g.
find n/Hans Bowill returnHans GruberandBo Yang
Tip:
Refer to this section for more information about various parameters!
Examples:
-
find n/Johnreturns all tutors with names that containsJohn. -
find n/alex davidreturns all tutors with names that containAlexorDavid, as shown below:

-
find p/98765432 99999999returns the tutors with phone number98765432or99999999. -
find e/e1234567 e7654321returns the tutors with emaile1234567@u.nus.eduore7654321@u.nus.edu. -
find m/cs2100 cs2105returns the tutors teaching modulecs2100orcs2105. -
find y/4returns all tutors who are in year4of their studies. -
find s/A0123456X A0123456Yreturns the tutors with student idA0123456XorA0123456Y. -
find tn/3returns all tutors that have3teaching nominations. -
find r/4.0returns all tutors that have rating of4.0. -
find r/4returns all tutors that having rating starting with4. -
find t/seniorreturns 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:
-
INDEXrefers to any index in range of the tutor list. -
allallows you to email all the current tutors displayed in the tutor list.
Examples:
-
mail 3opens the user’s default mail client with the “to” specified as the third tutor’s email. -
mail allopens 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:
-
ORDERcan be one of the two values:a(ascending) ord(descending). -
PREFIXrefers 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:
-
listfollowed bydelete 2deletes the 2nd tutor in Tuthub. -
find n/Betsyfollowed bydelete 1deletes the 1st tutor with name containingBetsyin the results of thefindcommand (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. |