Tianyi'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).
Our project is a brown-field project. We adapted from the existing AddressBook3 (GitHub Link) application to build our software.
Below lists my major contributions to the project.
Code Contributed: RepoSense Link
Team-based Tasks
- Set up the organisation group and repository.
- Set up links to code coverage tools and CI.
- Provided an inspiration for the context of the project.
- Participated in reviewing of PRs.
Enhancements and Adaptation from AddressBook
- Handled the commands unit of the software
- Refactored the macroscopic structure of components. [#126]
- Enforced separation and abstraction between Model and Logic components.
- Enforced dependency-inversion principle by making both Parser and Model subclasses depend on an abstraction.
- Enforced further information hiding between interacting components of Parser and Model.
- A large scale refactoring given that the test suite depended on many of the changed components.
- Continuously managed and updated test suite. [#66, #75, #220]
Documentation
- User Guide
- Adjusted parameters to
edit
command. - Although not included in the PDF, created a sidebar for navigation after much toil through HTML and CSS technology.
- Participated in review, proofreading, and general editing.
- Adjusted parameters to
- Developer Guide
- Updated
Logic
component. Adapted sequence diagrams from AddressBook3 to our version. - Add use cases
- Created a sidebar for navigation
- Participated in review, proofreading, and general editing.
- Updated