Kelvin's Project Portfolio Page
Project: Uni-Fy
Uni-Fy is a desktop app for managing your university workload and it is designed by university students for university students. 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.
- New Feature: Added a weekly
progress barto keep track of all tasks- What it does: allows the user to visualise weekly progress
- Justification: This feature improves the product significantly because a user is able to keep track of their weekly task completion progress.
- Highlights: This enhancement affects existing commands and commands to be added in future (commands that perform changes to the task). It required an in-depth understanding of
model,logicandJavaFXcomponents. The implementation too was challenging as it required updating of the UI usingObservablesand ensuring that all commands that modify/changes tasks also updates the bar. - Contribution: Created the
progress barUI element and linking it tomodel: #191
- New Feature: Added the ability to mark a task as
done.- What it does: allows the user to mark a task as done. Also updates the progress bar to show number of task that are done.
- Justification: This feature improves the product significantly because a user is able to keep track of what tasks they have done and what tasks needs to be done.
- Highlights: It required an in-depth understanding of
cssfor the tag styling/changing of colours. - Contribution: Created the state model and linking it to the UI(progress bar): #187
- New Feature: Added
priorityproperty to task.- What it does: allows the user to assign priority to their tasks.
- Justification: This feature improves the product significantly because a user is able to prioritise their tasks.
- Highlights: It required an in-depth understanding of
cssfor the tag styling/changing of colours. - Contribution: Created the priority model as well as UI element: #209
- New Feature: Contributed to the
showfeature.- What it does: allows the user to show weekly tasks by each day of the week in a weekly panel.
- Justification: This feature improves the product significantly because a user is able to easily visualise their weekly tasks.
- Highlights: It required an in-depth understanding of
model,logicandJavaFXcomponents. The implementation too was challenging as it required updating of the UI usingObservablesand ensuring that other commands that updates tasks would also update the UI. - Contribution: Created the initial framework for the feature. Linking the
logicandmodelof show with theUI: #128, #168
- Enhancements to existing features:
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.2-v1.3b(3 releases) on GitHub
- Managed releases
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Tools:
- Integrated a third party library (Apache commons) to the project (#278)