Tyrus's Project Portfolio Page
Project: Foster Family
This is a desktop application for managing animal foster families. Our target audience are the foster managers of animal shelters who currently do not have a good logistical workflow to keep track of their fosterers. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
-
New Feature: Added the ability to undo the last command that was executed * What it does: Undoes the last command that was executed. * Justification: Accidental edits and deletes can happen and having a means of reversing any unwanted edits allows users more leniency when making changes. * Highlights: Through experimenting with many methods of implementing an undo function, and due to the nature of the features of the application, the simplest method of state saving was used. * Pull requests: #94
- Enhancements to existing feature: Made the
resetcommand require confirmation before execution- What it does: Instead of entering reset to erase the entire contents of the Address Book, the user is now required to enter
resetfollowed byreset confirmto execute the command. - Justification: Due to its highly catastrophic consequence in the event of a accidental execution of this command, it was decided that the user needed to be prompted to confirm their decision before the command is executed to prevent accidental deletion of the entire Addressbook.
- Highlights: This feature high-jacks and overrides an existing method to ensure state consistency between different command execution instances.
- Pull requests: #143
- What it does: Instead of entering reset to erase the entire contents of the Address Book, the user is now required to enter
- Other enhancements to existing features:
- Changed the
clearcommand word toreset. - Made the commands
listandfindsynonymous.
- Changed the
- Documentation:
- User Guide:
- Added documentation for the feature
reset. - Added documentation for the feature
help. - Added documentation for the feature
exit. - Added documentation for the feature
undo.
- Added documentation for the feature
- Developer Guide:
- Added implementation details of the
resetfeature. - Updated the class diagram for
resetfeature. - Added the activity diagram for
resetfeature. - Added implementation details of the
helpfeature. - Added implementation details of the
exitfeature. - Added implementation details of the
undofeature. - Updated the class diagram for
undofeature. - Added the activity diagram for
undofeature.
- Added implementation details of the
- User Guide: