Yi Hern's Project Portfolio Page
Project: HireLah
HireLah is a desktop app that helps recruiters to manage talent and job candidates by tracking every step of the hiring process, from offering positions to scheduling interviews with candidates. It is optimised for Command Line Interface (CLI) users while still offering a GUI, so that power users can accomplish tasks much quicker by using commands . It is written in Java, and has about 10 kLoC.
Summary of Contributions:
Given below are my contributions to the project.
- New Feature: Position
- New Position data type to represent a position in the company that is open for hire.
- Position tracks the number of openings, as well as, the number of offers handed out the applicants.
- Position contains other fields, such as, description and requirement tags, to allow recruiters to associate information with the position.
- Other notable contributions to support this feature:
- Parsers to support
add
,delete
andedit
commands for Positions. - Command logic for executing
add
,delete
andedit
. - Methods in
Model
to support the cascading effects for editing a Position. - Unit tests to cover the input validation for
PositionName
,PositionOpenings
,Description
andRequirement
. - Unit tests to cover the execution correctness for
AddPositionCommand
,DeletePositionCommand
,EditPositionCommand
and their various parsers.
- Parsers to support
-
Code contributed: Contributed over 3,000+ L0C to the project.
- Project management:
- Enhancements to existing features:
- Made changed or advised on changes to the validation regex for fields in Applicant (refactored from Person).
- Regex to ensure that at least one alphabet exists in
Name
and length is shorter than 100 characters.
- Regex to ensure that at least one alphabet exists in
- Enhancements to
ModelManager
to support cascading effects of editingPosition
andApplicant
.
- Made changed or advised on changes to the validation regex for fields in Applicant (refactored from Person).
- Documentation:
- User Guide:
- Add documentation for the features
add -p
,edit -p
, anddelete -p
. - Contributions to explain the validation logic in regard to
Position
, underpass
andaccept
commands.
- Add documentation for the features
- Developer Guide:
- User Guide:
- Community: