iScheduler Xs Max is a desktop scheduler application morphed from the original
Address Book sample application (Level 4). As its name suggests, it is used for scheduling events and taskss. 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.
This product is targetting at University students who have many tasks to handle such as homework deadlines, weekly lectures and tutorials, anniversaries with families and more.
The postfix 'Xs Max' indicates a great improvement from the previous version of the product as it now supports Google Calendar!
-
Major enhancement: added the ability to have auto-completion of commands
-
What it does: allows the user to have the ability to invoke a particular commands by suggested auto-completion(s).
-
Justification: This feature improves the product significantly because some command names can be a little long and having auto-completion of the command name should provide a convenient way to invoke the command.
-
Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required the knowledge of a method named
TextFields.bindAutoCompletion()
from an external library called ControlsFX. SeeFindCommand#COMMAND_WORD
. -
Credits: Goh Cheng Yu (GitHub: @Chengyuuu) and Tan Ying Zi Rebecca (GitHub: @rebstan97) for contributing their ideas as well as teaching me how to one of the ways of how to use auto-completion in Java.
-
-
Minor enhancement: added command aliases that allows the user to use aliases to invoke commands.
-
Code contributed: My RepoSense Project Code Dashboard
-
Other contributions:
-
Project management:
-
Opened a PR on behalf of my team, F11-1, to Address Book sample application (Level 4)
-
Fixed broken images not showing on our team’s GitHub pages link for iScheduler Xs Max (Pull request #86)
-
Configured RepoSense
_reposense/config.json
file template on behalf of my team (Pull request #100) -
Updated issue templates for my team’s repository (Pull request #110)
-
Managed releases
v1.3.5
(1 release) on GitHub
-
-
Enhancements to existing features:
-
Wrote additional tests for existing features to increase coverage (Pull request #66)
-
Acted promptly on TA’s feedback for our team’s PR to Address Book sample application (Level 4) (Pull request #82)
-
-
Documentation:
-
Community:
-
PRs reviewed (some with non-trivial comments): #44, #48, #50, #51, #56, #57, #58, #65, #68, #70, #75, #94, #95, #117, #123, #124, #132, #143, #233
-
Reported bugs and suggestions for other teams in the class (examples: #233, #235, #237, #238)
-
Contributed to forum discussions (examples: 5, 7, 11, 19, 20, 35, 38, 39, 45, 60, 66, 74, 78, 79, 82, 83, 86, 88, 107, 109, 122, 123, 124, 126, 138, 146, 147, 157, 158)
-
-
Tools:
-
Integrated a third party library (ControlsFX) to the project (Pull request #156)
-
Helped to enable Travis CI notifications for our team’s private Slack channel (Pull request #92)
-
Helped to enable notifications from our GitHub repository to the aforementioned Slack channel by subscribing to our team’s repository
-
-
{you can add/remove categories in the list above}
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |