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]


  • Tools: