Penn Han's Project Portfolio Page
Project: bookmark
bookmark is a desktop book management application used for managing user added books to manage book records such as last read page (bookmark), added goals and notes. A user will interact with bookmark through a GUI created with JavaFx and invoke commands through a Command Line Interface style.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Added the ability to find Word Suggestions for typing errors during
Find
command.- What it does: When
Find
command is invoked, there may be spelling errors or inaccurate queries provided by the user. The feature will help to search for words that are similar and return the closest word as a suggestion to the user. However, if the given word to search has no similar words, there will not be any suggestions returned and a standard No Suggestion message will be returned to the user. - Justification: This feature improves the product significantly because a user can make mistakes when finding books. This is likely to occur often as bookmark uses the CLI to invoke commands. bookmark will provide suggestions and improve the User Experience as users will be able to find their intended books more easily.
- Highlights: This enhancement require the creation with a new data structure into model to store the individual words in each book’s name, genre and tag.
- Credits: The suggestion feature is based off the damerau-levenstein algorithm. Algorithm_link
- Pull requests for this feature: #107, #122
- What it does: When
- New Feature: Improved Help Window to display Command Summary for quick access.
- What it does: when
help
command is activated, the Help Window will display a summarised version of the User Guide displaying the commands available and the CLI format that it should follow. - Justification: This feature improves the User Experience of bookmark significantly as the newly added commands adds to a long list of prefixes and CLI formats that a user will have to follow to navigate through the application. As opposed to providing a link to the User Guide, experienced Users who have already visited the User Guide can look for what they need in the Help Window quickly.
- Highlights: This enhancement resulted in the need for creation of different help page command classes. It will need to be maintained once new commands are added or existing commands are updated.
- Credits: JavaFX Scenebuilder
- Pull requests for this feature: #94, #128
- What it does: when
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the features
Add
,Suggestion Feature
andHelp
(Pull requests #111, #129) - Edited Quickstart to installation and starting the application with Images
(Pull requests #129) - Standardise all commands to follow a format: Command Overview Examples, Important Detail, Image example and Warning to existing documentation.
(Pull request #172) - Cleaned up the UG to present the information in a clearer manner.
(Pull request #175)
- Added documentation for the features
- Developer Guide:
- User Guide:
- Community: