Jerome Soh's Project Portfolio Page
Project: Intern Watcher
Intern Watcher (IW) is a desktop app for Human Resource Managers to manage internship applicants, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, IW can get your applicant management tasks done faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature: Added the ability to undo commands and redo previous undo commands.
- What it does: Allows the user to undo a previously executed command, reverting the application to the previous state. Undo commands can be reversed by the Redo command.
- Justification: It is common for users to make mistakes when entering commands. Hence, a redo/undo feature will be really helpful for users who need to rectify those mistakes, and redo them in case they change their mind.
- Highlights: This enhancement affects existing commands and commands to be added in the future. It was challenging as it required existing commands to be modified and a new class that extends the existing InternWatcher class in order to support the undo/redo functionality. Some analysis was needed for design alternatives, such as the data structure to store a history of commands.
- Credits: Code for classes
VersionedInternWatcher
referenced and reused from @eugene3231.
-
New Feature: Added
Course
field to applicants. It represents the applicant’s course of study. -
Code contributed: RepoSense link
- Enhancements to existing features:
- Enhanced
undo
andredo
features to display the previous command that was changed by undo or redo. (#127) - Added a lower bound value of
01/2020
forGraduationYearMonth
field so that only recent or future applicants are valid. (#205) - Wrote additional tests for features and fields (
GraduationMonthYear
field,Course
field,undo
andredo
features) (#205, #204, #142)
- Enhanced
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Contributions to team-based tasks:
- Updated logo of InternWatcher #213
- Maintained issue trackers
- Contributions to Project Management and Organisation:
- Organized and facilitated team meetings and discussions
- Managed team tasks and deliverables