Neil Gupta'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 the
WitnessClass in PIVOT. (Pull Request #76)- What was done: Set up base class
Witnessand refactored the relevant elements ofCaseclass to accommodate for theWitness. - What it does: The base class and refactored code will help further develop the
Caseclass which is a major element of PIVOT. - Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation was carefully designed to integrate with the existing commands, keeping in mind of future extensions.
- What was done: Set up base class
- New Feature: Added the ability to add and delete a
Witnessfrom aCase. (Pull Request #133)- What it does: Allows the user to add and delete a
Witnessinto a specifiedCaseone at a time. - Justification: This feature is highly pertinent as our application aims to help users better manage relevant information about investigations.
- With the feature, users are able to keep track of the list of
Witnessof aCase, with all its relevant details.
- What it does: Allows the user to add and delete a
- New Feature: Implemented
EditDescriptionCommandin PIVOT. (Pull request #230)- What was done: Set up the command class as well as its
Parserto parse the command in PIVOT. - Justification: This feature improves the product significantly because a user is clearer on which command to use for which situation.
- What it does: The user can now edit a
Descriptionin aCaseby callingedit desc d:DESC. It does not allow editing of a non-existent(i.e. blank) description. - Highlights: This enhancement builds on existing commands and allows extensions for commands added in the future. It follows existing design structures for its implementation. It was carefully designed to integrate with the existing commands, keeping in mind of future extensions.
- What was done: Set up the command class as well as its
- New Feature: Implemented
DeleteDescriptionCommandin PIVOT. (Pull request #230)- What was done: Set up the command class as well as its
Parserto parse the command in PIVOT. - Justification: This feature improves the product significantly because a user is clearer on which command to use for which situation.
- What it does: The user can now remove a
Descriptionfrom aCaseby callingdelete desc. It does not allow deleting of a non-existent(i.e. blank) description. - Highlights: This enhancement builds on existing commands. It follows existing design structures for its implementation. It was carefully designed to integrate with the existing commands.
- What was done: Set up the command class as well as its
-
Code contributed: RepoSense link
- Project management:
- Facilitated the discussions of certain implementations during group meetings. (
StateManager,UIStateManage, Opening of Document etc) - Coordinated the deadlines of smaller iterations and the timings of the next meeting.
- Facilitated the discussions of certain implementations during group meetings. (
- Enhancements to existing features:
- Functional Features Updates:
- Updated the
DeleteCommandto take in a delete type. (Pull Request #85) - Refactored
Caseclass to remove theEmailfield. (Pull Request #101) - Refactored
DeleteCommandclass to be abstract, added aDeleteCaseCommandclass and refactored the relevant tests forDeleteCaseCommand. (Pull Request #114) - Updated the
AddDescriptionCommandclass to restrict its functionality. (Pull Request #230)
- Updated the
- Testing:
- Wrote additional tests for existing features to increase coverage from 65% to 68% (Pull Request #160)
- Functional Features Updates:
- Documentation:
- User Guide:
- Developer Guide:
- Updated the
LogicSegment of the Documentation. Included Sequence Diagrams for the Components for clarity. (Pull Request #154)
- Updated the
- Community:
- Reported bugs and suggestions for other teams in the class during PE-Dry Run