Li Huankang's Project Portfolio Page
Project: CAP5Buddy
Project Overview
CAP5Buddy is a desktop module tracker application used to centralise key module details. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.
Given below are my contributions to the project.
Summary of contributions
- New Feature: Added the ability to create and add modules into the list.
- What it does: allows the user to store modules into the program with the given information.
- Highlights: This enhancement allows more complicated and advanced commands to be executed with the introduction of the different extensions. It required an in-depth analysis of design alternatives. The implementation was not very difficult as this is just the basic block for future functions.
-
Credits: We refactored the original AB3’s code to change from a AddPerson to a AddModule.
- New Feature: Added the Scheduler Feature.
- What it does: allows the user to store events into the program to track it in the Calendar.
- Highlights: This feature allows user to match its information with the GUI Calendar.
-
Credits: I referred to the original AB3 coding style as inspiration.
- New Feature: Added the GUI Calendar Feature.
- What it does: links the EventList to the Calendar.
- Highlights: is able to account for leap years.
-
Credits: Referred to W14-1/tp on their FXML for the Calendar as I had problems trying to place the Labels properly.
- New Feature: Added Tabs window Feature in the GUI.
- What it does: able to switch between different windows in the GUI to see each of the lists.
-
Highlights: is able to retain information in each window even after switching to another tab.
- Enhancements to existing features:
- Updated the GUI to fit our project design as we needed to display more information. (Pull requests #168, #218)
- Refactored Ui components to change the GUI display from showing a list of persons to modules. (Pull requests #218)
- Added and updated tests for the main application, module tracker.
- Beautified the existing GUI.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.1
-v1.4
(5 releases) on GitHub - Approved pull requests
- Managed project meeting agendas
- Lead team discussions
- Managed releases
- Documentation:
- User Guide: User Guide
- Added documentation for the features
addmodule
. - Added the UI screenshot for demonstration purposes.
- Added documentation for all Scheduler commands.
- Created Command Summary Tables for each feature.
- Added GUI Snapshot.
- Added GUI explanantion.
- Added documentation for the features
- Developer Guide: Developer Guide
- Added the UML diagram for the overall program.
- Added the implementation for the
addmodule
feature. - Created the Sequence Diagrams for Logic component.
- Added explanation for Logic Implementation.
- User Guide: User Guide
- Community: