Project: CLInkedIn

CLInkedIn is a desktop contact management Java application made for Recruiters to manage their contacts list of candidates using a CLI, and has a GUI created with JavaFX.

Given below are my contributions to the project.

  • Code contributed: RepoSense link

  • New Features:
    • View Feature:
      • What it does: Allows the user to view the extended details of a contact in the list. Typing view into the command box or clicking onto a person’s card in the list will execute this command.
      • Justification: This feature improves the product significantly because it allows the user to view the extended details of a contact in the list.
    • Note Feature:
      • What it does: Allows users to add optional notes to a contact, storing additional information/details that would be helpful for tracking candidates.
      • Justification: This feature improves the product significantly because it allows the user to add additional information/details to candidates. This is especially useful for recruiters who are managing a large number of candidates, and need additional avenues to differentiate/track candidates.
    • Count Display Feature:
      • What it does: Displays the total number of contacts in the list, and how many of them are currently being displayed in the case where the list has been filtered.
      • Justification: This feature improves the product significantly because it allows the user to know how many contacts they have at a glance. Additionally, it allows them to view how many contacts meet their current filter criteria.
      • Highlights: This feature works in tandem with the find feature, allowing the user to view how many contacts meet their current filter criteria.
  • Enhancements to existing features:
    • Help Feature: Extended the Help command to show a list of all commands and their respective descriptions, or show the description of a specific command when the user inputs the command name after the help command.
      • Previously:
        • The help command only displayed a link to the user guide.
      • Now:
        • The help window additionally displays a table of all available user commands and their usages.
        • The help command has been extended to allow users to view the help window for a specific command by typing help <command>.
    • UI Display: Revamped the User Interface of CLInkedIn to enhance the user experience when using the application.
      • Previously:
        • The UI was not very intuitive, and did not provide much information to the user.
      • Now:
        • The result display has been expanded and shifted to the right, allowing for greater clarity of the command result.
        • The UI now displays the total number of contacts in the list, and how many of them are currently being displayed in the case where the list has been filtered.
      • Justification: This enhancement improves the product significantly because it creates a seamless user experience in navigating the application while reducing clutter of information displayed on the screen.
  • Documentation:
    • Readme:
      • Added the project description and the user guide and developer guide link.
      • Added explanation of the target user profile and value proposition.
    • User Guide:
      • Expanded documentation for the help command.
      • Added documentation for the addNote command.
      • Added documentation for the addTo command.
      • Added documentation for the deleteNote command.
      • Added documentation for the view command.
      • Added Table of Contents and Quick Start/Useful Notations sections.
      • Added UI mockups and screenshots of the application.
    • Developer Guide:
      • Added implementation details of the Note feature.
      • Added implementation details of the View feature.
  • Review/Mentoring contributions:
    • PRs reviewed with non-trivial review comments: #109, #125, #258
    • PRs submitted that aid with the workflow/improvement of the repository: #76, #77
    • Given my experience with external projects, I was able to provide valuable feedback to the team on how to improve their code quality and workflow.
  • Contributions beyond the project: