Sigrid Elvina Huisen's Project Portfolio Page
Project: TAManager
TAManager is a desktop address book application made for professors to manage their teaching assistants (TA) under their charge. It provides fast access to TAs’ contact details and their availabilities for tutorials/labs. You can track teaching and claimable hours among your TAs and find relief TAs for impromptu events or unforeseen circumstances.
Given below are my contributions to the project.
- New Feature: Added the ability to add TAs’ Telegram handle.
- What it does: Allows users to add Telegram handles to TAs’ profiles.
- Justification: This feature improves the product significantly because it allows users to contact TAs through Telegram, which is a popular messaging platform among students.
- Highlights: This enhancement affects the
TA
class,AddCommand
class,EditCommand
class, and many other classes as the Telegram handle is a new field that needs to be added to the existing TA profile. The implementation was challenging due to the widespread implementation across the various classes. - Credits: This feature was implemented by me with reference to the
Email
field in theTA
class. This feature was also implemented as the replacement for the originalAddress
field in AB3.
- New Feature: Added the ability to set default course.
- What it does: Allows users to set a default course for the application to be displayed on the main window.
- Justification: This feature improves the product significantly because it allows users to display the list of TAs teaching under the default course when launching TAManager.
- Highlights: This enhancement requires implementation of a new
TeachingCoursePredicate
class to filter the list of TAs teaching under the default course. The dependency between the classes required me to be careful as changing the implementation of one class may affect the other. - Credits: This feature was implemented by using the
TeachingCoursePredicate
as written by my teammate Rayner.
- Code contributed: RepoSense link
- Project management:
- Led group discussions on User Guide
- Managed pull requests and code reviews for
v1.1
-v1.4
(9 pull requests) on GitHub - Managed bug reports for
v1.4
on Github
- Enhancements to existing features:
- Documentation for Developer Guide:
- Added implementation details of
TeachCommand
feature (Pull requests: #46)
- Added implementation details of
- Documentation for User Guide:
- Added documentation for
TeachCommand
feature (Pull requests: #49) - Did cosmetic tweaks to the existing documentation features
CourseCommand
(Commit link) - Redesigned the entire User Guide to improve the readability and flow of the document, such as adding tables and fixing the language use (Pull requests: #158)
- Reformatted and converted the User Guide into PDF for final submission
- Added documentation for