Rohan Sapra's Project Portfolio Page
Project: InsureIQ
InsureIQ is for car insurance agents who type fast over CLI and have to keep track of multiple customers’ vehicles with the car insurance policies. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
Given below are my contributions to the project.
- New Feature: Added the ability to
sort
the client list.- What it does: Allows the user to
sort
clients based on their policy expiry date, from those expiring earliest to those without policy data. - Justification: The feature is useful to car insurance agents who will want to know which policies expiry fast so they can respond appropiately and not risk losing their business.
- What it does: Allows the user to
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Throw exceptions for incomplete
add
andedit
features, specifying the missing parameters. - Throw exceptions for
delete
feature with erroneous index number. - Add checks in the
Policy
class so that policy expiry date must fall after issue date. - Allow duplicate names in
Person
class as long as there is another attribute that does not resemble the existing list of persons in the client list. - Disallow policy numbers from being reused in the
Policy
class. - Change
edit
for complete policies to be reverted to default policy if any policy parameter is made to the default value. - Added tests for DeleteCommand, DeleteCommandParser, SortCommand, SortCommandParser, Person, Policy and PolicyExpirationDateComparator classes.
- Throw exceptions for incomplete
- Documentation:
- User Guide:
- Added documentation for the
sort
feature.
- Added documentation for the
- Developer Guide:
- Added implementation for the
sort
feature. - Added manual testing guidance.
- Added implementation for the
- User Guide:
- Project management:
- Added issues for exceptions in the
add
andedit
features. - Assigned a few issues in v1.3.
- Added issues for exceptions in the
- Community:
- PRs reviewed (with non-trivial comments) : #106
- Had the responsibility “Testing” in the team, and helped implement and oversee error handling.