Vishwanth's Project Portfolio Page
Project: HustleBook
HustleBook is a desktop address book application aimed towards financial advisors to help them store and manage client details. The user interacts with this application using Command Line Interface (CLI), and it has a Graphical User Interface (GUI) created using JavaFX. It is written in Java, and has about 15 kLoC.
This project is built on top of the AB3 application that is used for teaching Software Engineering principles.
Given below are my contributions to the project.
Contributions
- New Feature: Added the ability to undo and redo previous commands.
- What it does: allows the user to undo all previous commands one at a time. All preceding undo commands can be reversed by using the redo command.
- Justification: This feature allows users to rectify any mistakes made through the use of a single command. This helps improve the users productivity and makes this product more user-friendly.
- Highlights: This command was challenging in the aspect on figuring out how to make this work with minimal changes but compatible with all commands.
- Credits: This implementation is loosely based on AB3’s future implementation recommendation for undo/redo to save the entire HustleBook data
- Implemented the necessary JUnit test cases. #250
-
New Feature: Added a
salaryattribute to allow users to store a clients’ salary information and its necessary JUnit test cases. -
Code contributed: RepoSense link
- Project management:
- Set up the Github team organisation.
- Updated the product icon.
- Renamed the product to HustleBook and all instances of Addressbook to HustleBook.
- Created and released
v1.2-v1.4(5 releases) on GitHub. - Updated gradle file to enable assertions and update the name of the jar file generated to HustleBook.
- Updated necessary diagrams to match current implementation #252, #236
- Updated user stories
- Enhancements to existing features:
- Updated the GUI to better display the
salary,prevMeetandnextMeetattributes (Pull requests #124, #125) - Created a
getPersonListIndexmethod to allow commands to usenameinstead ofindexto find the desired client to work on. Implemented this on the first iteration ofeditanddeletecommand (Pull requests #64, #71) - Modified test cases to ensure tests for
editanddeleteworks with the change fromindextoname(Pull requests #64, #71)
- Updated the GUI to better display the
- Documentation:
- User Guide:
- Added documentation for the features
undoandredo
- Added documentation for the features
- Developer Guide:
- Added implementation details of the
salaryattribute. - Added implementation details of
undocommand.
- Added implementation details of the
- User Guide:
- Community:
- Reviewed many PRs
- Reported bugs and suggestions for other teams in the class