Hi there! 👋
If you are a busy Computer Science student juggling Teaching Assistant roles and struggling to keep track of your many students, TAHub Contacts is a desktop application for you to easily manage your student contact details!
Think about TAHub Contacts as a little helper, residing on your computer, made just for you, the Computing TA.
While it has a GUI (Graphical User Interface), most of the user interactions happen using a CLI (Command Line Interface) with typed commands. A perfect fit if you’re already a wizard at the keyboard.
Also preferable would be being comfortable with the concept of entering configurable, text-based commands into a terminal.
(Or if you've already taken/suffered/enjoyed CS2030S
)
TAHub Contacts allows you to easily:
Interested? Head down to quick start to get started!
Ensure you have Java 17
or above installed in your Computer.
java -version
in your terminal.17
or above, download here.Download the latest .jar
file from here.
Copy the file to the folder you want to use as the home folder for the program.
Open a command terminal
(Windows |
MacOS |
Linux), cd
into the folder
you put the jar file in, and
run java -jar tahub-contacts.jar
to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app
contains some sample data.
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,
which links you back to this page.
Some example commands you can try:
list
: Lists all students.person-add m/A0296210X n/John Tan p/98765432 e/johnt@email.com a/John street, block 123, #01-01
: Adds a contact named John Tan
to TAHub Contacts.person-delete m/A0296210X
: Deletes the student with the matriculation number A0296210X
.
In this case, the John Tan
that we just added.clear
: Deletes all contacts.exit
: Exits the app.Refer to the Features below for the juicy details of each command. Alternatively check the Command Summary for a quick list of the available commands. Have fun!
Check this section out for an example on how you might use TAHub Contacts as a TA!
The specific commands in this section, e.g. clear
, are
hyperlinked to their respective
command feature sections. Use them to learn more!
clear
if it isn't.person-add
:
person-add m/A1234567Q n/Jane p/99871234 e/jahn@email.com a/12 AMK Ave
person-add m/A2233445X n/John p/88112233 e/john@email.com a/200 Bedok Road
CS2005
using
course-add
course-add c/CS2005 n/Computer Examples
enroll
.
enroll m/A1234567Q c/CS2005 tut/T05
enroll m/A2233445X c/CS2005 tut/T05
Fast forward a bit, you just had your first tutorial session with this class. Jane showed up, but John didn't. So it's time to mark attendance!
Use the
attend-present
and
attend-absent
commands:
attend-present m/A1234567Q c/CS2005 tut/T05
attend-absent m/A2233445X c/CS2005 tut/T05
You just recorded their attendance!
Click on the Attendance
button to see their attendance. For instance,
here's Jane's:
This is just a simple example. For more details, check the Features section below.
Back to Table of Contents
Notes about the command format:
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in person-add m/MATRICULATION_NUMBER
, MATRICULATION_NUMBER
is a
parameter which can be used as person-add m/A1234567L
.
Items in square brackets are optional. e.g.
n/NAME [a/ADDRESS]
can be used as n/John Doe a/Nasi Lemak Street
or as n/John Doe
.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.
Address Length: If the a/ADDRESS
parameter is too long, it may overflow in the user interface. To avoid display issues, keep addresses concise.
Extraneous parameters for commands that do not take in parameters (such as
help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
All input fields in the table below must follow the specified data formats. Input fields not listed may accept any non-blank value.
Field | Format |
---|---|
MATRICULATION_NUMBER | must be a valid NUS matriculation number in the form AxxxxxxxB , where A is the fixed as 'A', B is any uppercase character, and xxxxxxx is any 7 integers. |
NAME | must only contain alphanumeric characters and spaces, and not be blank. |
PHONE_NUMBER | must only contain numbers, and it should be at least 3 digits long. |
EMAIL | must be a valid email format. |
COURSE_CODE | must be in the form A+xxxxB where A+ is 1 or more uppercase letters, xxxx is a 4-digit number, B is an optional uppercase letter. |
COURSE_NAME | must only contain alphanumeric characters and spaces, and not be blank. |
TUTORIAL_ID | should be in the form Txx , where T is fixed as 'T', while xx is a 2 digit integer from 01 to 99. |
Back to Table of Contents
The main basic commands for TAHub Contacts.
Back to Table of Contents
This is for managing your individual students, modifying their attributes and information.
See Course Commands or Enrollment Commands regarding your students' courses and tutorial groups.
Reminder: follow the data formats!
Back to Table of Contents
This is for managing the courses you are (or previously were, cuz why not) teaching.
Reminder: where used, parameters must follow the data format!
Back to Table of Contents
This is for you to attach (enroll) and unattach (unenroll) students from specific courses and tutorials for better management.
Back to Table of Contents
This is for you to conveniently keep track of each one of your students' attendance records.
Each of your students will have an attendance record associated with each unique course and tutorial group. This record is to be edited over the duration of a semester (or longer), where you can mark (present 😃 or absent 😦) and unmark attendance for for each consecutive session.
To view the attendance record of a student,
Click on the Attendance
button:
Then the following Attendance window will be shown:
Note: the course name shown in the message window will be COURSE QUERY
, rather than
the actual course name of the course, even for valid course codes. This is intended
behavior and is simply a result of how student-course-tutorial matching is done 😃
Reminder: where used, course code and name, and tutorial code must exist and follow the data format!
The particular student must also be enrolled in that course and corresponding tutorial.
Back to Table of Contents
Ever experience the stomach-churning sinking feeling of being petrified when
you forgot to Ctrl/Cmd-S
something important?
Don't worry!
TAHub data is saved in your drive automatically after any command that changes the data. You don’t need to save manually!
This already makes us unambiguously superior to Microsoft Office (when saving locally).
Data is saved automatically in the JSON
files [JAR file location]/data/addressbook.json
, storing the list of your students
and [JAR file location]/data/courselist.json
, storing the list of courses.
Advanced users are welcome to update data directly by editing that data file. The file structure should be decently self-explanatory.
Caution: 💀
If your changes to the data file makes its format invalid, TAHub Contacts will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause TAHub Contacts to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
You have been duly warned.
T01A
. Due to time limitations, we are not able to support all potential tutorial IDs and this could be fixed in a future iteration.
Back to Table of Contents
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 TAHub Contacts home
folder.
Q: I accidentally performed the wrong command. Is there a way for me to...
revert the change?
A: Unfortunately, we have not implemented an undo command for TAHub contacts.
😔
So be careful especially when you're using destructive (deletion) commands!
preferences.json
file created by
the application before running the application again.help
command (or use
the Help
menu, or the keyboard shortcut F1
) again, the original Help
Window will remain minimized, and no new Help Window will appear. The
remedy is to manually restore the minimized Help Window.Action | Format, Examples |
---|---|
Help | help |
List Students | list |
Clear | clear |
Exit | exit |
Add Student | person-add m/MATRICULATION_NUMBER n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS e.g. person-add m/A0177310M n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 |
Find Students by Name | person-find KEYWORD [MORE_KEYWORDS] e.g. person-find James Jake |
Edit Student | person-edit m/MATRICULATION_NUMBER [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] e.g. person-edit m/A0296210X n/James Lee e/jameslee@example.com |
Delete Student | person-delete m/MATRICULATION_NUMBER e.g. person-delete m/A0296210X |
Add Course | course-add c/COURSE_CODE n/COURSE_NAME e.g. add c/CS1101S n/Programming Methodology 1 |
Edit Course | course-edit c/COURSE_CODE n/NAME e.g. course-edit c/CS1101S n/Programming Basics |
Delete Course | course-delete c/COURSE_CODE e.g. course-delete c/CS3230 |
Enroll Student | enroll m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. enroll m/A1234567Y c/CS1101S tut/T10 |
Unenroll Student | unenroll m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. unenroll m/A1234567Y c/CS1101S tut/T10 |
Mark Present | attend-present m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. attend-present m/A1234567Y c/CS1101S tut/T10 |
Mark Absence | attend-absent m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. attend-absent m/A1234567Y c/CS1101S tut/T10 |
Remove Attendance Session | attend-remove m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. attend-remove m/A1234567Y c/CS1101S tut/T10 |
Clear Attendance | attend-clear m/MATRICULATION_NUMBER c/COURSE_CODE tut/TUTORIAL_ID e.g. attend-clear m/A1234567Y c/CS1101S tut/T10 |
Back to Table of Contents