Amelia Tan'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.
Contributions Summary
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Job Listings (Pull requests #84 and #94)
- What it does: This feature enables a job listing to be represented in the application.
- Justification: This is the preliminary modification of AB3 uniquely into CANdidates, for subsequent features to be rolled out for job listings.
- Highlights: This allows job recruiters to store job listings in CANdidates to keep track of all jobs with recruitment opportunities.
- New Feature: Find Candidate(s) (Pull requests #148, #153 and #167)
- What it does: Enables the user to find candidates with field(s) that contain(s) 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 that fulfil a certain criteria and streamline their search.
- Highlights: This enhancement was challenging as it requires chaining of various predicates, based on the fields specified by the user, to achieve the desired outcome. An in-depth understanding of the code base and its logic flow are required due to the numerous other classes involved.
- New Feature: Find Job Listing(s) (Pull requests #148, #153 and #167)
- What it does: Enables the user to find job listings with field(s) that contain(s) 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 job listings with specific keywords, streamlining their search, thereby helping him/her fulfil the recruitment required in a timely manner.
- Highlights: This enhancement was challenging as it requires chaining of various predicates, based on the fields specified by the user, to achieve the desired outcome. An in-depth understanding of the code base and its logic flow are required due to the numerous other classes involved.
- Enhancements to existing features:
- Project management:
- Defined tasks for each release, assigned them to team members and tracked completion.
- Maintained the issue tracker and ensured that issues were assigned and fulfilled timely.
- Scheduled meetings for the team to address problems and ensure meeting of deadlines.
- Keep track of and remove unnecessary files in project. (Pull requests #291 and #329)
- Documentation:
- About Us:
- Mounted team’s About Us page. (Pull request #33)
- Mounted team’s About Us page. (Pull request #33)
- Developer Guide:
- Wrote documentation for and maintained the sections on target user profile, value proposition and user stories. (Pull requests #34 and #234)
- Wrote documentation for implementation of Find feature and its sequence diagram. (Pull requests #131 and #282)
- Updated documentation and design of Model component including the UML diagrams along with teammate Joon Jie. (Pull request #142)
- Identified use cases and updated the sections to reflect new features that were developed. (Pull requests #234 and #325)
- Updated Manual Testing section with tests for Finding a candidate. (Pull request #282)
- Enhanced formatting of contents page and section headers. (Pull request #293)
- Updated documentations regularly to ensure consistency in content and format. (Pull requests
#282,
#294,
#325 and
#329)
- User Guide:
- Wrote documentation for the sections Introduction, Authors, Preface and Understanding Symbols. (Pull request #155)
- Wrote documentation for the features
find can
andfind job
. (Pull request #155) - Wrote documentation for the feature Auto tab switch. (Pull requests #317 and #318)
- Enhanced formatting of UG by separating features for candidates and jobs into different sections. (Pull request #239)
- Enhanced formatting of contents page and section headers. (Pull request #293)
- Enhanced formatting of every feature’s step by step documentation. (Pull request #317)
- Updated documentations regularly to ensure consistency in content and format. (Pull requests #116, #155, #170, #171, #235, #237, #294, #308, #325 and #339)
- About Us:
- Community:
- Contributed to forum discussions by clarifying an issue for the team project. (Example: #348)
- Reported bugs found and assigned the issues to relevant teammates. (Examples: #152, #161, #327)
- Reported bugs for and gave suggestions to other teams in the class. (Examples: Issues transferred to other team’s repository #248, #249, #251, #253, #252 and #255)