Brendan'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
remind
agents of upcoming policy expiry dates- What it does: Filters and displays the client list according to the specified number of days remaining until each client’s policy expiry date, as determined by the agent from the current date
- Justification: This feature will be able to quickly narrow down the list of clients with approaching policy expiry date in 1 command
- Highlights:
- The initial implementation does not allow the agents to enter any parameters, so it will only show the clients with policy expiry date within the next 30 days
- However, we decided to allow more flexibility for the agents and allow them to specify the number of days remaining until each client’s policy expiry date
- Hence, the feature can be used with
remind NUMBER_OF_DAYS
whereNUMBER_OF_DAYS
can only range from 0 to 7305 (equivalent to 20 years, the maximum lifespan of a car in Singapore)
-
Code contributed: RepoSense link
- Project management:
- Team lead role
- Take charge of agendas during group meetings
- Delegate tasks for the week to the team members
- Oversee overall team progress for each week’s tasks
- Resolve any disagreements or conflicts within the team
- Maintained issue tracker in the team’s GitHub repository
- Maintained milestones
v1.2
tov1.4
(5 milestones) on GitHub - Managed releases
v1.3(trial)
tov1.3.1
(2 releases) on GitHub
- Team lead role
- Enhancements to existing features:
- Updated the implementation of
find
feature where it previously only find clients by their namesfind
now requires the prefix to be given to find for different fields- Basic details:
n/
for Name field,i/
for NRIC field,p/
for Contact Number field,l/
for Licence Plate field,e/
for Email field andt/
for Tag field - Policy details:
c/
for Company field,pn/
for Policy Number field,pi/
for Policy Issue Date field,pe/
for Policy Expiry Date field
- Basic details:
- Added 9 more predicates, total of 10 predicates to support this feature
- Updated
find
command such that the values given for each prefix is treated as 1 value rather than separate values- For example,
find n/Hans Bo
no longer returns clients with namesHans
orBo
, but only clients with namesHans Bo
in it
- For example,
- Updated
find
command to support partial matching of values- For example,
find n/Ha
will return all clients with names that has the charactersHa
in it
- For example,
- Updated the storage file name from
addressbook.json
toinsureiq.json
- Updated the URL given in the help window from the
help
feature to reflect the team’s User Guide - Updated the display of
PersonCard
for the policy details - Constantly updates the version number in
MainApp.java
to correctly reflect the version ofinsureiq.jar
- Updated the implementation of
- Documentation:
- User Guide:
- Replaced all occurrences of
person
toclient
to better suit our target users - Replaced all occurrences of
addressbook.jar
toinsureiq.jar
- Added documentation for the features
find
andremind
- Replaced all occurrences of
- Developer Guide:
- Added implementation details of the
remind
feature - Added sequence diagram and activity to illustrate the flow for
remind
feature - Added in User Stories in Appendix: Requirements section
- Added Appendix: Planned Enhancements section
- Added implementation details of the
- User Guide:
- Community:
- Tools:
- JavaFX for design of InsureIQ GUI