Lester Ong's Project Portfolio Page
Project: NUScheduler
NUScheduler is a desktop app for managing contacts, optimised for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, NUScheduler can get your contact management tasks done faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature: Added the ability to edit
Profile
s andEvent
s. (Pull Request #64, #89)- What it does: Allows the user to edit details of existing profiles and events in the application.
- Justification: This feature allows the user to update details of their profiles and events if they have made a mistake when adding it.
- Credits: This feature is adapted from code in AddressBook Level-3.
- New Feature: Added the ability to find
Event
s by keywords or dates. (Pull Request #115)- What it does: Allows the user to find existing events by providing a set of keywords and dates.
- Justification: This feature allows the user to easily find the details of the events that they are concerned about.
- Credits: This feature is adapted from code in AddressBook Level-3.
- New Feature: Added a session-based command history feature that allows the user to navigate to the previous command using the up and down arrow keys. (Pull Request #104)
- What it does: Allows the user to navigate between the previous successful commands.
- Justification: This feature allows the user to reduce the amount of typing if the user is doing successive, similar commands, without the need to type the whole command again.
-
Code contributed: RepoSense link
- Project management:
- Managed 3 releases
v1.2
,v1.2.1
andv1.3.1
and on GitHub.
- Managed 3 releases
- Enhancements to existing feature: Refactored the
ProfileCommandParser
class to better parse user input. (Pull Request #64)- What it does: Improves the handling of user input using regular expressions, and to provide more descriptive error messages for incorrect command formats.
- Credits: Built upon the initial version of the
ProfileCommandParser
class by Shashank Acharya.
- Enhancements to existing feature: Build upon the help window. (Pull Request #78, #124)
- What it does: Added a command summary into the help window, and a hyperlink to the user guide.
- Justification: This feature provides quick and convenient access to the command usage without accessing the full user guide. If the user requires more details, a hyperlink to the full user guide is provided.
- Credits: Co-authored with Shen Xinbei.
- Enhancements to existing feature: Refactored the
DateTime
class to better handle the various date and time formats. (Pull Request #100)- What it does: Improves the error handling of dates and times using regular expressions, and improve code quality.
- Credits: Built upon the initial version of the
DateTime
class by Shashank Acharya.
- Documentation:
- User Guide:
- Added documentation for the profile commands, including
profile -a
,profile -d
andprofile -f
. (Pull Request #38, #62) - Added documentation for the event commands, including
event -e
andevent -f
. (Pull Request #62, #117) - Added documentation for session-based advanced features, including session-based command history and quick links. (Pull Request #117)
- Added section numbers using CSS and reorganise sections. (Pull Request #117)
- Fixed formatting and minor typographical errors. (Pull Request #128)
- Added documentation for the profile commands, including
- Developer Guide:
- Added implementation details for edit commands. (Pull Request #83)
- User Guide:
- Reviewing and mentoring contributions:
- Community:
- Contributed to the CS2103-AY2223S1 forums: Issue #62, #288.
- Found 10 bugs in team CS2103-W14-1’s product during PE-D.