Gu Geng's Project Portfolio Page
Project: Intern Watcher
Intern Watcher (IW) is a desktop app for Human Resource Managers (HRs) to manage internship applicants. The user interacts with it using a Command Line Interface (CLI), and it has a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about 17 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to do mass filtering against a combined collection of criteria at once.
- What it does: Allows the user to filter the applicant list with various and multiple criteria specified against different factors: Grade, GraduationYearMonth, Skill, Status, Institution, Course and Job.
- Justification: This feature improves the product significantly because a HR can select potential applicants based on different requirements with great flexibility and efficiency.
- Highlights: This enhancement required an in-depth analysis of design alternatives via careful and thorough consideration of the target users’ demands and the most probable use cases. For example, for filter on Grade, only one instead of multiple filters will be accepted and only applicants with grades not less than the specified threshold will be displayed as HRs should be more interested in finding applicants that at least meet the requirement specified in regard to grade. The implementation too was challenging as it required to combine filters of different factors and deal with their respective behaviours and specifications.
-
New Feature: Added GraduationYearMonth field to applicants.
-
New Feature: Added Job field to applicants.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Added feature to allow Skill to take in symbols
+#
to accomodate skills such asC++
andC#
(Pull request #152) - Changed the field
value
(of typeString
) of GraduationYearMonth to typeYearMonth
as it facilitated the comparison between GraudationYearMonth. (Pull request #152) - Changed the case-sensititvity of
Name
forAddCommand
to case-insensitive for more practical dertermination of duplicate applicants. (Pull request #222) - Wrote additional and maintain tests for newly added fields (
GraduationYearMonth
andJob
) and feature (Filter
) to maintain coverage (Pull requests #24, #119)
- Added feature to allow Skill to take in symbols
- Documentation:
- User Guide:
- Developer Guide:
- AboutUs:
- Update and refine details for roles, responsibilities and features #257
- Community:
- Contributions to team-based tasks:
- Contributions to Project Management and Organisation::
- Managed and organised project resources/minutes and facilitated discussions/meetings (Google Drive)