Project: Staff-Snap
Craigton Lian's Project Portfolio Page
Overview
Staff-Snap is a desktop hiring management application used for managing applicants during the recruitment cycle. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 9,000 lines of code.
Summary of Contributions
The tags with a G-prefix [G#267] represents an external link to the corresponding GitHub Issue.
The tags with a P-prefix [P#80] represents an external link to the corresponding Pull Request.
- Interview Management Features: Added the
addi
, editi
, and deletei
command.
- What it does: Allows the user to add, edit, and delete interviews for each applicant.
- Justification: This feature forms the core functionality of Staff-Snap, as it allows the user to manage the interview process for each applicant, while updating the interview rating progressively.
- Highlights: This enhancement had to be carefully designed to ensure that the interview data is stored in a way that is easily accessible and modifiable by the user. Input validation and duplicate handling was also implemented to ensure that the data is consistent and accurate.
- Credits: Automatic duplicate handling under the
addi
function was not implemented by me. This was implemented by my teammate Austin Huang.
- Import CSV Feature: Added the
import
command.
- What it does: Allows the user to import a correctly-formatted CSV file containing applicant data into Staff-Snap.
- Justification: This feature allows the users to directly import large amounts of applicant data into Staff-Snap using a common file format like CSV instead of manually keying in the data.
- Highlights: This enhancement required careful and thorough error handling and input validation in order to prevent erroneous data from being added into Staff-Snap.
- Credits: The third-party library OpenCSV was used to parse the input CSV in the implementation of this feature.
- Project Management:
- Set up GitHub team organisation and repo
- Set up CodeCov GitHub Action and Gradle Build
- Managed releases
v1.2
, v1.2.1
, v1.3
, and v1.4
on GitHub - Managed team's Project Board on GitHub to ensure steady and consistent progress
- Enhancements to Existing Features:
- Updated the logo for Staff-Snap [P#74]
- Updated the Applicant Card to display icons [P#105]
- Updated the GUI to display Interview Cards [P#111]
- Updated the
help
command to open the User Guide in the browser [P#75]
- Documentation:
- User Guide:
- Added documentation for the features
addi
, editi
, deletei
, and import
[P#80] [P#90] [P#117] [P#140] - Did cosmetic tweaks to existing documentation of features
help
and edit
[P#67] [P#138] [P#145]
- Developer Guide:
- Added implementation details of the Interview Management features such as
addi
, editi
, and deletei
[P#118] - Added implementation details of the Import CSV feature [P#228]
- Added sequence diagram for
import
command [P#228] - Added activity diagram for
deletei
command [P#228]