Bing Quan's Project Portfolio Page
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
Meetingobjects (Pull requests #48) - Migrated the storage layer to serialize/deserialize LinkyTime user data (Pull requests #64)
- Accepted and parsed meeting date and time from
StringtoLocalDateTime(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).
- Migrated the model and logic layer to work with
- Project Management:
- Maintained team weekly meeting notes.
- Documentation:
- User Guide:
- Collaborated with teammates on the user guide in VSCode live share #123.
- Developer Guide:
- User Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #82 #83, #112, #202
- Full list of PRs reviewed.