Project: ContHACKS

contHACKS is a desktop app for Teaching Assistants (TAs) to manage contacts and lessons. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 12 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to add a lesson (#77).
    • What it does: Creates the skeletal files needed to create a lesson on the UI.
    • Justification: This feature acts as an extension for the user to store details of their classes as well.
    • Highlights: Uses the Java DayOfWeek library such that indicating the day can be done using a number instead of having to type out the day itself (e.g. 2 for Tuesday, 7 for Sunday). Challenging aspect was to make all the components work together to interact to update the UI from the storage.
    • Credits: Design structure is inspired from AddressBook Level 3, Person package.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Make the help window open up in a browser for easier access (#44)
    • Add ability to add a remark to a contact (#45)
    • Updated the GUI color scheme and UI (#59, #62, #77)
  • Testing:
    • Wrote tests for all new and enhanced features: (#45, #77)
  • Documentation:
    • User Guide:
      • Added a table of content with anchor tags for easier navigability to the sections (#9)
      • Added a walk-through section to guide the user on how to use the guide (#136, #156)
      • Added screenshots for all the commands used in the guide (#232)
      • Did cosmetic tweaks to existing documentation of features edit, editc, find, findc to make it more readable (#204)
    • Developer Guide:
      • Updated UML diagram and documentation details of the UI component (#100)
      • Update user stories and use cases (#247)
  • Team-Based Tasks:
    • Refactored AB3 to Conthacks: #143
  • Community:
    • PRs reviewed (with non-trivial review comments): #47, #52