Project: Tether

Tether is an Applicant Tracking System (ATS) for hiring managers in small to mid range startups. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.

Given below are my contributions to the project.

Features


Code contributed: RepoSense link

New Feature: Added find for applicants and interviewers

  • What it does: allows hiring managers to find applicants or interviewers using either their name, phone number or email.
  • Justification: This feature improves the product significantly because hiring managers often need to view a specific person's details from a long list of people.
  • Highlights: This enhancement required deciding between implementing 3 separate commands for finding based on the 3 different compulsory person detail fields and a singular command that takes in as input an additional parameter to denote the field to find by.
  • Challenges: During implementation, there were slight challenges in ensuring proper parsing of multiple inputs, as well as abstracting out common code to cut down on repeated code logic.

New Feature: Added a command to add a remark to applicants and interviewers.

  • What it does: allows hiring managers to add remarks to persons.
  • Justification: This feature is a minor enhancement to the product that allows users to add a short description to the person of their choice.

New Feature: Added a command to delete applicants and interviewers.

General Contribution: Ensured that code and documentation adhered to the required checkstyle and formatting guidelines in earlier iterations of v1.1 to v1.3.

Enhancements to existing features:

  • Refactoring the name of the product to Tether and changing the product icon. (Pull request #79)
  • Created a new Applicant type from existing Person to more closely model usage for hiring managers in particular.
  • Modified Delete command to select person to delete based on phone number instead of index.

Project management


  • Facilitated delegation of tasks and managed team issue tracker.

Documentation


User Guide:

  • Added documentation for the features clear, find, list_persons and list_interviews. (#143, #241)
  • Updated Quick Start section with details and hyperlinked guides to facilitate setting up Tether. (#251)

Developer Guide:

  • Added user stories, user profile, value proposition and glossary in first iteration.
  • Added implementation details of the find feature. (#103)

Community


  • PRs reviewed (with non-trivial review comments): #97, #98, #101)
  • Contributed to course-wide forum discussions (example: 1)
  • Aided in bug-triaging and response for received bug reports.
  • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5)