Benjamin's Project Portfolio Page
Project: Game Book
GameBook is a desktop app designed for gamblers to track their gambling games. It is optimized for use via a Command Line Interface (CLI), but still possesses the benefit of a Graphical User Interface (GUI).
Given below are my contributions to the project.
- New Feature: Added functionality to sort the game entries after
add
oredit
- What it does: Automatically sorts the list of game entries by date, with the latest dates appearing at the top.
- Justification: This feature is very important to the user as it places the most recent games (which users would be more interested in) at the top. It also provides a sense of ordering to the app.
- Highlights: Implementing this feature required an in-depth understanding of the execution pipeline for adding and editing game entries, as well as the internal representation of the game entries list in order to figure out the ideal place to implement sorting.
-
Code contributed: RepoSense link
- Modifications to existing features:
- Refactored
Main
andUi
components (renaming variables and classes and calling the correct new classes/methods) to suit the purpose of GameBook in v1.2 (Pull request #47) - Refactored
test/data
files to suit the purpose of GameBook in v1.2 (Pull request #71) - Modify behaviour of duplicate entries handling. Instead of throwing an exception when entries with the same
GAME_NAME
andDATE
are present, I changed it to only display an alert to user as it is possible to play several games with the sameGAME_NAME
on the same day, and some users may also log several game entries at the same time. (Pull request #112) - Modified graph plotting behaviour to display data points from the latest dates. (Pull request #137)
- Refactored
- Enhancements to existing features:
- Documentation:
- User Guide:
- Made an initial modification of Quick Start & FAQ to suit the purpose of GameBook in v1.1 (Pull request #12)
- Modified miscellaneous explanations to improve clarity (Pull requests #212, #235)
- Added explanation about auto-capitalization feature of
GAME_NAME
andLOCATION
(Pull request #212) - Added several screenshots to illustrate the usage of the app (Pull request #212)
- Developers’ Guide:
- Updated product scope, NFR and glossary (Pull requests #29, #34)
- Added description of implementation details for adding a game entry. (Pull requests #145, #226)
- Refactored UiClassDiagram from AB3 (Pull requests #145, #221)
- Made miscellaneous modifications to other UML diagrams and explanations. (Pull request #244
- User Guide:
- Project management:
- Managed release
v1.3(final)
andv1.4
on GitHub.
- Managed release
- Community: