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: Add alias for different commands: #49

  • What it does: Allow users to use different alias to perform the same command.
  • Justification: This provides advanced user with short alias which leads to less typing.
  • Credits: The design is inspired by this post on stackoverflow.

New Feature: Add the ability to list lesson: #122

  • What it does: Allow the user to see all lesson stored in contHACKS
  • Justification: After finding the lesson(s) they want, user might want to view the whole list of lesson again
  • Credits: The design structure is inspired from AddressBook Level 3

New Feature: Add the ability to clear lesson: #123

  • What it does: Allow the user to clear all lesson stored in contHACKS
  • Justification: Saves the user from deleting lesson one by one if there is a lot of lesson stored in contHACKS
  • Credits: The design structure is inspired from AddressBook Level 3

New Feature: Add the ability to edit lesson: #137

  • What it does: Allow the user to edit a lesson stored in contHACKS with the newly provided details
  • Justification: There might be updates in lesson detail
  • Credits: The design structure is inspired from AddressBook Level 3

Code contributed: RepoSense link

Enhancements to existing features:

  • Added the ability to sort the contact by their name and module code, but was removed because sorting by module isn’t needed anymore, and our team agreed that sorting by name should be done automatically instead of the user having to type a command just to sort. 52
  • Add automatic sorting of contact & lesson after any command is executed. #75

Testing:

Documentation:

  • User Guide:
    • Update command alias, remove sort and fav: #83
    • Remove fav: #97
    • Add more example for various commands: #147
    • Add documentation for the features listc, editc, clearc: #150
  • Developer Guide:
    • Updated the UML diagram and documentation for Parser component: #101
    • Updated the manual testing section: #238
    • Updated the UML diagram and documentation for the implementation of alias: #246

Team-Based Tasks:

  • Setting up the GitHub team org/repo
  • Manged releases v1.2 on GitHub
  • Updating UG that are not specific to a feature
  • Refactor ModuleLesson to remove the use of a Set to save the ModuleCode
  • Create skeleton files for all XYZModuleLessonCommand and XYZModuleLessonCommandParser, and refactor all XYZCommand and XYZCommandParser to XYZPersonCommand and XYZPersonCommandPerson

Community: