Tiang Hui Zheng's Project Portfolio Page
Overview
ModQuik is a desktop app that allows Teaching Assistants to keep track of their responsibilities, students’ progress and schedules for their semester.
Summary of contributions
Given below are my contributions to the project.
-
Code contributed: heyzec’s tP Dashboard
- Enhancements implemented:
- Added finding students command
- What it does: Via the
find
command, the TA is able to see a selected list of students based a search criteria, e.g. student name, student ID, module and tutorial. - Justification: As there are many students, having such a feature allows the TA easily narrow down to specific students.
- Highlights: By using the Java’s Predicate class, it is very easy for future developers to extend the code to introduce more filtering criteria.
- What it does: Via the
- Added extracting emails command
- What it does: After using the
find
command, the TA can then use theextract emails
command, to quickly send mass emails to selected students. ModQuik generates a deeplink URL which, when pasted into the browser, redirects the user to NUS WebMail with a new email draft with the intended recipients. - Highlights: This feature was interesting to implement as it required searching online to figure out the format of the deeplink to redirect to a Microsoft Web Outlook. It also required more testing to ensure the behaviour is the intended one across various operating systems.
- What it does: After using the
- Ability for ModQuik to recognise date and time
- What it does: The newly created internal Date and Time classes make use of Java’s datetime packages in order to parse user input.
- Justification: This is required so that other entities are able to sorted. Moreover, it required for further enhancements, such as ability to detect conflicting schedules.
- Highlights: This enhancement was a challenging one as it required multiple rounds of refactoring in order to adhere to the software design principles of DRY and SLAP.
- Added finding students command
- Documentation:
- User Guide:
find
commandextract emails
command- Added links to other sections
- Added prefix summary
- Formatting and phrasing of the user guide
- Developer Guide:
find
commandextract emails
command- Logic subsection of the architecture section
- User Guide:
- Contributions to team-based tasks:
- Organised issue tracker by tagging bugs with the appropriate labels for easier identification.