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
Suspect
class in PIVOT. (Pull request #78)- What was done: Set up the base class
Suspect
and refactoredCase
class to accommodate for theSuspect
. - What it does: The classes will then further be used by the team to develop the
Case
class, a major component in PIVOT.
- What was done: Set up the base class
- New Feature: Implemented
Description
andAlphanumeric
class in PIVOT. (Pull request #81)- What was done: Set up the base class
Description
and refactoredCase
class to accommodate for theDescription
. - Abstracted most of the common functionalities of
Title
andName
into a parentAlphanumeric
class. - What it does: The classes will then further be used by the team to develop the
Case
class, a major component in PIVOT.
- What was done: Set up the base class
- New Feature: Implemented
AddDescriptionCommand
in PIVOT. (Pull request #126)- What was done: Set up the command class as well as its
Parser
to parse the command in PIVOT. - What it does: The user can now add a
Description
to aCase
by 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.css
as the main theme of the app. The originalDarkTheme.css
is converted for ourArchive
section. - 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
State
andUi
Components. Included Class Diagrams for the Components for clarity (Pull request #149) - Added
OpenCaseCommand
andReturnCommand
. 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