Cody's Project Portfolio Page
Project: 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: Added the ability to open documents from the application. (Pull request #155)
- What it does: allows the user to open a file stored in their local computer directly from the program.
- Justification: This feature improves the product significantly there can be many files saved in the program, and the user can conveniently open relevant files while using the program.
- Highlights: The main challenge was to store the references to work with the logic of the program as users are able to directly manipulate files in their local folder from outside the program. As the program does not know the different “states” of the files, there needs to be separate checks for validity of the reference as well as its existence when the user opens the file.
- Credits:
- The
Desktopclass allows us to open the file directly from the program. JUnit 5Temporary Directory support allows me to test directory and file creation locally without interfering with user program files. It also aids in the clean up of created files during unit testing.
- The
- New Feature: Added
open caseandreturnfunctionality to the program (Pull requests #116, #121)- What it does: Changes the state of the program, enables users to access both the main panel as well as individual cases.
- Justification: A user can execute different commands based on which interface or
statethe user is at. - Highlights: This command makes use of a global
StateManagerwhich tracks the state of the program. A singleStateManagerensures that thestateis accessible easily and the program has only onestateat any instance.
-
Code contributed: RepoSense link
- Project management:
- Released
v1.3.trial-v1.3on GitHub
- Released
- Enhancements to existing features:
- Documentation:
- Community: