Samuel Fang's Project Portfolio Page
Project: CoLAB
CoLAB (Collaboration Lab) is a desktop app for university students to manage their school projects. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
Given below are my contributions to the project.
- Undo/Redo Feature:
- Added the ability to undo/redo previous commands(Pull request #209).
- Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
- Highlights: Although a similar implementations exist in other similar projects, I decided to go with my own implementation after considering the pros and cons of each solution. My solution took into account the user experience, and has the ability undo not only the data but also the GUI to the previous state.
- Command History Feature:
- Added a history command that allows the user to navigate to previous commands using up/down keys (Pull request #204).
- Justification: This feature improves the user experience and makes it easy to execute multiple commands in a row.
- Redesigned GUI:
- GUI Testing:
- Integrated a third party library (TestFX) to the project (Pull request #61) to facilitate automated GUI testing.
- Many hours spent integrating TestFX with github actions as well as writing tests.
- Credits: Address Book 4’s codebase was referenced.
- Other features and enhancements to existing features:
- Implemented add project command (Pull request #70).
- Implemented help panel with summary of commands (Pull request #207).
- Designed projects model (Pull request #64).
- Modified existing
AddressBook
class to storeProjects
as well (Pull request #175). - Added various commands to navigate the UI (Pull requests #89, #90).
- Implemented sorted ordering for Events, Deadlines, Todos and Groupmates (Pull request #239).
- Wrote a test utility to facilitate generation of sample projects (Pull request #93).
- Added the ability for commands to parse date in multiple formats (Pull request #186).
- Consistently added automated tests for features. Of note, pull request #353 increased coverage by 13.71%.
-
Code contributed: RepoSense link.
- Project management:
- Managed releases
v1.1
-v1.4
(6 releases) on GitHub. - Managed deadlines and deliverables for the group, including updating the issue tracker and milestones.
- Managed releases
- Documentation:
- User Guide:
- Added documentation for the features
undo/redo
andadd project
. - Added section on command parameters.
- Added documentation for the features
- Developer Guide:
- Updated section on design to fit CoLAB’s new features.
- Added implementation details of the
view project
feature.
- User Guide:
- Community: