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 ability for meetings to be recurring on a weekly basis.
    • What it does: A recurring meeting will always reflect the ongoing/upcoming date and time of its next recurrence.
    • Justification: As modules in NUS recurs weekly, users shouldn’t have to manually re-create such recurring meetings on a weekly basis as well.
    • Highlights: This feature required an in-depth analysis of design alternatives to avoid issues with keeping the storage in sync with the next recurring date and time of a meeting.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Migrated the model and logic layer to work with Meeting objects (Pull requests #48)
    • Migrated the storage layer to serialize/deserialize LinkyTime user data (Pull requests #64)
    • Accepted and parsed meeting date and time from String to LocalDateTime (Pull requests #92).
    • Updated the GUI to reflect the latest date and time of all recurring meetings upon the execution of any command (Pull requests #92).
    • Updated logic to only show ongoing/recurring meetings by default (Pull requests #119).
    • Wrote test cases for MeetingDateTime (Pull requests #205).
  • Project Management:
  • Documentation:
    • User Guide:
      • Collaborated with teammates on the user guide in VSCode live share #123.
    • Developer Guide:
      • Collaborated with teammates on the developer guide in VSCode live share #10.
      • Added activity diagram and implementation details for recurring meetings #108.
      • Migrated AB3 diagrams to LinkyTime ones #208.
      • Described notable features like “Opening of Meeting Links” and “List and Archive” #213.
  • Community: