Timothy Koei's Project Portfolio Page
Overview of Tuthub
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.
Summary of Contributions
Code Contributed
Project Management
- Set up the Github team org, team repo.
- Set up Tuthub’s external tools, Codecov and Gradle.
- Managed and delegated work and issues in the issue tracker (authored 96 issues).
- Managed Tuthub’s Github releases
v1.2
,v1.2.1
, andv1.3
. This can be viewed here.
Enhancements implemented
New Feature: sort
, added the feature to sort the tutor list based on rating and teaching nominations (#127).
- What it does:
- Allows the user to sort the currently displayed tutor list. The user can choose to sort based on the
Rating
andTeachingNomination
of the tutor in ascending or descending order. Any list, whether it be a filtered list (afterfind
) or the original list can be sorted.
- Allows the user to sort the currently displayed tutor list. The user can choose to sort based on the
- Justification:
- This feature serves as one of Tuthub’s main features. To find the best and most suitable TAs, this feature enables profs to search based on the available quantitative measures.
- Highlights:
- This enhancement involves the ui, logic, and model of Tuthub. It heavily relies on the Java class
javafx.collections.transformation.SortedList
which allows easy switching of the Comparator.
- This enhancement involves the ui, logic, and model of Tuthub. It heavily relies on the Java class
- Fixed bugs regarding the
sort
command (#201).
New Feature: mail
, added the feature to mail tutors (#162).
- What it does:
- Allows the user to contact the targeted tutors with their default mail client. This is done by specifying the “to” in an email. The user is able to choose to mail a single tutor or all the tutors currently displayed in the list.
- Justification:
- This feature simplifies the process of contacting tutors. Rather than copying and pasting one by one,
mail
provides profs with a simple and fast medium for contacting desired tutors.
- This feature simplifies the process of contacting tutors. Rather than copying and pasting one by one,
- Highlights:
- This enhancement involves the logic and model part of Tuthub. The command and parser of
mail
lies in the logic part. Model is used in accessing the currently displayed tutor list. This feature utilizes the Java classesjava.awt.Desktop
andjava.net.URI
to open the user’s default mail client.
- This enhancement involves the logic and model part of Tuthub. The command and parser of
Enhancements
- Modified and fixed bugs in
Comment
,CommentCommand
, andDeleteCommentCommand
and their parsers (#185). - Updated the
Tutor
class (wasPerson
) to store additional fieldsStudentId
(#76) andRating
(#114).- Implemented the fields into the add command and
Tutor
class. - Added test cases for
StudentId
andRating
models.
- Implemented the fields into the add command and
Contributions to the UG
- Added documentation for the features
sort
(#127) andmail
(#162). - Added documentation to additional model details
StudentId
andRating
(#259) - Added some parts in the FAQ section (#184).
Contributions to the DG
- Added implementation details, use case, and manual testing instructions for the
sort
command (#156). - Added implementation details, use case, and manual testing instructions for the
mail
command (#299) - Provided the base for user stories, use cases, glossary, and NFRs (#59)