Terence Ho Wei Yang's Project Portfolio Page
Project: PIVOT (Police Investigation Virtual Organisational Tool)
PIVOT is a desktop application to assist the police investigators in keeping track of their investigations and relevant information. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.
Given below are my contributions to the project.
- New Feature: Implemented
Suspectclass in PIVOT. (Pull request #78)- What was done: Set up the base class
Suspectand refactoredCaseclass to accommodate for theSuspect. - What it does: The classes will then further be used by the team to develop the
Caseclass, a major component in PIVOT.
- What was done: Set up the base class
- New Feature: Implemented
DescriptionandAlphanumericclass in PIVOT. (Pull request #81)- What was done: Set up the base class
Descriptionand refactoredCaseclass to accommodate for theDescription. - Abstracted most of the common functionalities of
TitleandNameinto a parentAlphanumericclass. - What it does: The classes will then further be used by the team to develop the
Caseclass, a major component in PIVOT.
- What was done: Set up the base class
- New Feature: Implemented
AddDescriptionCommandin PIVOT. (Pull request #126)- What was done: Set up the command class as well as its
Parserto parse the command in PIVOT. - What it does: The user can now add a
Descriptionto aCaseby callingadd desc d:[description].
- What was done: Set up the command class as well as its
These enhancements affects existing and future commands. It was carefully designed to integrate with the existing architecture, keeping in mind of future extensions.
- Code contributed: RepoSense link
- Project management:
- Manage Team Progress and Tasks:
- Setting up Team Github Repo/Org, Issue Tracker and Milestones: Github Link
- Maintain existing documentation: README.md, AboutUs.md and SettingUp.md (Pull requests #44, #51, #71)
- Code Quality and Standardisation:
- Manage Team Progress and Tasks:
- Enhancements to existing features:
- Front-End Development: Managed the GUI updates and implementations.
- Updated the GUI color scheme: (Pull request #227) Implemented
BlueTheme.cssas the main theme of the app. The originalDarkTheme.cssis converted for ourArchivesection. - GUI Layout: (Pull requests #111, #227) Improved the GUI layout, such as implementing resizeable panels to improve readability of the content.
- Command Line Interaction: (Pull requests #111, #169) Integrated updates in the GUI when users enter the corresponding commands in the CLI.
- Updated the GUI color scheme: (Pull request #227) Implemented
- Testing:
- Wrote additional tests for existing features to increase coverage from 54% to 66%, ensuring the code is covered sufficiently for v1.3 (Pull request #158)
- Front-End Development: Managed the GUI updates and implementations.
- Documentation:
- User Guide:
- Developer Guide:
- Updated Target User Profile, Value Proposition and User Stories. (Pull request #61)
- Updated Non-Functional Requirements and Glossary. (Pull request #64)
- Added Documentation for
StateandUiComponents. Included Class Diagrams for the Components for clarity (Pull request #149) - Added
OpenCaseCommandandReturnCommand. Included Sequence Diagrams for the Commands for clarity (Pull request #149)
- Community:
- Reported bugs and suggestions for other teams in the class during PE-Dry Run