Project: LinkyTime

LinkyTime is a desktop application for NUS Computer Science students to manage their online meeting links. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 13 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the medit command that allows the user to edit a module specified by the module index (With test cases included). (Pull request #120)
    • What it does: Allows the user change the module at the specified index without deleting and then adding it.
    • Justification: This feature improves the product as provides convenience to the user. If this feature is not implemented, if the user needs to change a module’s name, the user would have to delete all meetings associated with the module before deleting the module, just to add a new module to reflect the changes and then add all the associated meetings back into LinkyTime.
    • Credits: AB3’s EditCommand
  • New Feature: Added add command that allows the user to add a meeting (With test cases included). (Pull request #59)
    • What it does: Allows the user to add a meeting into LinkyTime.
    • Justification: This is a basic functionality that is required for LinkyTime.
    • Credits: AB3’s AddCommand
  • New Feature: Added edit command that allows the user to edit a meeting (With test cases included). (Pull request #100)
    • What it does: Allows the user to edit a meeting in LinkyTime.
    • Justification: This would allow the user to edit a certain field of a meeting instead of having them delete then add a meeting again in order to make changes.
    • Credits: AB3’s EditCommand
  • Code contributed: RepoSense link

  • Project management:
    • Maintained team weekly meeting notes.
    • Created communication channels for team to use.
    • Closed redundant PR after reviewing. #183
  • Enhancements to existing features:
    • Implemented MeetingDuration for MeetingEntry. (Pull request #82)
    • Fixed test cases that broke due to refactoring, which increased the code coverage by 5.48%. (Pull request #186)
    • Implemented feature for the module list to be perpetually sorted in alphabetical order. (Pull request #109)
  • Documentation:
    • User Guide:
      • Added documentation for the features add,edit and medit. (Pull requests #70, #100, #123)
      • Added a summary table for the potential errors that the user might face. (Pull request #178)
      • Added documentation for the new parameter MeetingDuration of a meeting. (Pull request #102)
    • Developer Guide:
      • Added implementation details of the add feature. (Pull request #91)
      • Did cosmetic tweaks to existing documentation of use cases. (Pull request #12)
      • Created the sequence diagram reference frame for EditModuleCommand. (Pull request #194)
      • Added manual testing instructions for the adding and editing of meetings. (Pull request #196)
      • Added to the effort appendix, describing the effort we put in to implement the Meeting and Module models. (Pull request #216)
      • Collaborated with teammates on the DG using VSCode live share. (Pull request #10)
    • Created demo video segments for add meeting and edit meeting.
  • Community:
    • PRs reviewed (with non-trivial review comments): #108, #94, #211