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 
RatingandTeachingNominationof 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.SortedListwhich 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 
sortcommand (#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, 
mailprovides 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 
maillies in the logic part. Model is used in accessing the currently displayed tutor list. This feature utilizes the Java classesjava.awt.Desktopandjava.net.URIto 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, andDeleteCommentCommandand their parsers (#185). - Updated the 
Tutorclass (wasPerson) to store additional fieldsStudentId(#76) andRating(#114).- Implemented the fields into the add command and 
Tutorclass. - Added test cases for 
StudentIdandRatingmodels. 
 - 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 
StudentIdandRating(#259) - Added some parts in the FAQ section (#184).
 
Contributions to the DG
- Added implementation details, use case, and manual testing instructions for the 
sortcommand (#156). - Added implementation details, use case, and manual testing instructions for the 
mailcommand (#299) - Provided the base for user stories, use cases, glossary, and NFRs (#59)