Toh Hong Xian (Ray)'s Project Portfolio Page
Project: CANdidates
CANdidates is a powerful contact management desktop app optimised for job recruiters to manage job applicants.
The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 25 kLoC.
Given below are my contributions to the project.
- New Feature:
find can
- What it does: Searches the candidate list for all candidates with fields containing all the specified keywords.
- Justification: This feature improves the product significantly because a typical job recruiter has many candidates to handle, this feature will provide a convenient way for them to look for suitable candidates and streamline their search.
- Highlights: This enhancement was challenging as it requires chaining of various predicates to achieve the desired outcome. An in-depth understanding of the code base is required it involves numerous other classes.
- New Feature:
find job
- What it does: Searches the job list for all jobs with fields containing all the specified keywords.
- Justification: This feature improves the product significantly because a typical job recruiter has many job listings to handle, this feature will provide a convenient way for them to look for suitable jobs and streamline their search.
- Highlights: This enhancement was challenging as it requires chaining of various predicates to achieve the desired outcome. An in-depth understanding of the code base is required it involves numerous other classes.
- Code contributed: RepoSense link
- Project management:
- Managed release
v1.2
,v1.2.1
,v1.3
(3 releases) on GitHub. - Ensured that project deliverables are done on time and in the right format.
- In charge of versioning of the code, maintaining the code repository, integrating various parts of the software to create a whole.
- Managed release
- Enhancements to existing features:
- Implemented adding of candidates and jobs (Pull requests #85)
- Implemented listing of candidates and jobs #87
- Implemented the chaining of multiple search predicates #137
- Wrote numerous utility classes for the purpose of testing (examples: #85, #87)
- Wrote additional tests for existing features to increase code coverage by 12.16% (examples: #93, #126, #126, #138)
- Forced the application to fail gracefully when data files are corrupted #269
- Documentation:
- Readme:
- User Guide:
- Developer Guide:
- Demonstration Video:
- Recorded and edited the project demonstration video
- Community:
- Contributed to forum discussions #68
- Reported bugs and suggestions (examples: #247, #249, #252)
- Reported bugs for and gave suggestions to other teams in the class (examples: PE Dry Run)
- Tools:
- Integrated the code coverage badge to the team repo #93