Kevin William's Project Portfolio Page
Project: Lifebook
Lifebook is a desktop task management application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- Link Feature: Added the ability to add a link to a task. (Pull requests #86, #100)
- What it does: allows the user to add a meeting link or collaborative link to a task.
- Justification: This feature improves the product significantly because finding Zoom links or Google Drive links can be tedious for the users and the app should provide a convenient way for the users to find the links easily.
- Highlights: This enhancement affects the model of the task. The implementation was quite challenging as UI matters must also be taken into consideration.
- Edit Task Feature: Added the ability to edit the properties of a task. (Pull request #135)
- What it does: allows the user to edit the properties of a todo or an event.
- Justification: This feature improves the product significantly because a user can make mistake when typing the properties of a task and the app should provide a convenient way for the users to edit them.
- Highlights: This enhancement does not affect other commands because it is independent from other commands.
-
Code contributed: RepoSense link
- Project management:
- Setting up the GitHub team organization
- Created the skeleton and morph the commands to suite Lifebook (Pull request #45)
- Maintaining the issue tracker for every Milestone from
v.1
-v1.4
- Enhancements to existing features:
- Updated exception handling for list, add, and delete command to be more meaningful (Pull request #79)
- Added extra validation and meaningful exception handling for link (Pull request #104)
- Updated the GUI for Meeting Link and Collaborative Link (Pull requests #86)
- Wrote additional tests for existing features to increase coverage from 58% to 67% (Pull requests #213, #214, #208, #149)
- Documentation:
- User Guide:
- Developer Guide:
-
Contributions to the Developer Guide:
-
LinkCommandParser Class Diagram
-
LinkCommand Class Diagram
-
Sequence Diagram of Link Feature
-
Activity Diagram of Link Feature
-
-
Contributions to the User Guide:
-
Table of Contents numbering
-
Link Command
-
And others
-
- Community:
- Tools:
- Integrated a new Github pulgin (GuardRails) to the team repo
- Integrated a new Github plugin (CommitCheck) to the team repo