User Guide
Welcome to the user guide for InsureIQ, the ultimate contact management system for car insurance agents to keep track of multiple clients’ details and policies. Designed with efficiency in mind, this tool combines the speed of a Command Line Interface (CLI) with the user-friendly benefits of a Graphical User Interface (GUI). Experience a faster and more efficient contact management solution tailored to the unique needs of car insurance agents!
This guide is designed to introduce features in InsureIQ for effectively managing client information and assist you in understanding how to use InsureIQ!
Go ahead and click on the links below to jump to the respective sections!
- Glossary
- Quick start
-
Features
- Viewing help :
help
- Listing all clients :
list
- Adding a client :
add
- Editing a client :
edit
- Locating clients by fields :
find
- Deleting a client :
delete
- Batch delete clients:
batchdelete
- Sorting clients by policy expiry date :
sort
- Remind user of clients policy expiry date :
remind
- Adding or removing remark to a client :
remark
- Clearing all entries :
clear
- Exiting the program :
exit
- Saving the data
- Editing the data file
- Viewing help :
- FAQ
- Known issues
- Command summary
- Appendix: UG workload distribution
Glossary
- Command Line Interface (CLI): A way of interacting with the software by typing textual commands
- Graphical User Interface (GUI): A way of interacting with the software using visual elements like buttons and windows
- Policy fields: Refers to the company the policy is under, policy number, policy issue date and policy expiry date
- Client: Buyers / potential buyers that car insurance agent is in contact with, such that it is stored inside InsureIQ
- Client list: List of clients and their personal and policy details in the InsureIQ app
Quick start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
insureiq.jar
from here. -
Copy the file to the folder you want to use as the home folder for InsureIQ.
-
Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar insureiq.jar
command to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Some example commands you can try:-
list
: Lists all clients. -
delete 3
: Deletes the 3rd client shown in the current list. -
clear
: Deletes all clients. -
exit
: Exits the app.
-
-
Refer to the Features below for details of each command.
-
Look out for additional information in these alert blocks to master the use of InsureIQ!
Features
About the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by you.
e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional.
e.gn/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
,sort
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
. -
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
Viewing help : help
Leads you to the help page, which is this user guide.
Format: help
Listing all clients : list
Shows you all clients in your client list.
Format: list
Adding a client : add
Adds client details to your client list. You can also choose to include policy details attached to a client.
Format: add n/NAME i/NRIC p/CONTACT NUMBER e/EMAIL a/ADDRESS [t/TAG]... l/LICENCE PLATE [c/COMPANY
pn/POLICY NUMBER pi/POLICY ISSUE DATE pe/POLICY EXPIRY DATE]
- All client details except tag must be present when using this command.
- Tag is optional and this command allows multiple tags.
- If adding a client’s policy, all 4 policy fields must be present when using this command:
c/COMPANY
pn/POLICY NUMBER
pi/POLICY ISSUE DATE
pe/POLICY EXPIRY DATE
Examples:
-
add n/Irfan Ibrahim i/752X p/92492021 e/irfan@example.com a/Blk 47 Tampines Street 20,#17-35 t/classmates l/SBP8888T
adds a client Irfan without a policy. -
add n/Bob Anderson i/578A p/54783402 e/bobanderson@gmail.com a/Blk 233 Serangoon Avenue 3, #05-12 t/teacher l/SGP1208J c/DEF Insurance pn/263J pi/20-09-2023 pe/19-09-2024
adds a client Bob with the policy he bought.
Acceptable values for each parameter:
-
n/NAME
: Alphanumeric. -
i/NRIC
: Alphanumeric, exactly 4 characters (3 digits + 1 letter). -
p/CONTACT NUMBER
: Numeric, exactly 8 characters. -
e/EMAIL
: Alphanumeric and/or special characters, no white spaces allowed, standard email format. -
a/ADDRESS
: Alphabets and/or special characters, white spaces allowed. -
t/TAG
: Alphanumeric, no white spaces allowed. -
l/LICENCE PLATE
: Alphanumeric, up to 8 characters. -
c/COMPANY
: Alphanumeric and/or special characters, white spaces allowed. -
pn/POLICY NUMBER
: Alphanumeric, up to 8 characters. -
pi/POLICY ISSUE DATE
andpe/POLICY EXPIRY DATE
: Date in the format dd-mm-yyyy.
Expected output upon success:
Expected output upon failure:
- Missing any of the compulsory fields:
Invalid command format! Error: Some of the required fields are missing. Please include the following: - NRIC(i/) - Licence Plate(l/)
- Incomplete policy details:
Invalid command format! Please include either all or none of the policy variables. You are missing the following: - Policy Expiry Date(pe/)
- Adding a client with an existing policy number:
Error: The policy number is already in use
- Adding a client that already exists:
Error: This person already exists in the address book
Editing a client : edit
Modify and/or updates existing policy information in your client list.
Format: edit INDEX [n/NAME] [i/NRIC] [p/CONTACT NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... [c/COMPANY] [l/LICENCE PLATE]
[pn/POLICY NUMBER] [pi/POLICY ISSUE DATE] [pe/POLICY EXPIRY DATE]
- Edits the client policy details at the specified
INDEX
. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Important notes about usage:
- If you are adding a new policy number to a client with no attached policy, you must also add the company, policy issue date and policy expiry date.
- In case of already existing policy, individual updates to the policy number, company, policy issue date and policy expiry date are allowed.
- To delete an existing policy from a user, you may use any one of the following (using more than one of the below, or using while updating another policy field will still result in the deletion of the policy)
-
c/!@#NO_COMPANY!@#
or -
pi/01-01-1000
or -
pe/01-01-1000
or -
pn/NOPOLICY
, as per the ‘Format’ mentioned above.
-
Examples:
-
edit 1 l/SNB9876E
updates the policy at the INDEX number 1 with the new licence plate provided. -
edit 2 pn/AB12345J pe/31-12-2024
updates the policy at the INDEX number 2 with the new policy number and expiry date. -
edit 3 c/!@#NO_COMPANY!@#
deletes the policy at the INDEX number 3. -
edit 4 pn/AB12345J c/!@#NO_COMPANY!@#
deletes the policy at the INDEX number 4. -
edit 5 pn/NO_POLICY c/!@#NO_COMPANY!@# pe/01-01-1000
deletes the policy at the INDEX number 5.
Acceptable values for each parameter:
-
n/NAME
: Alphanumeric. -
i/NRIC
: Alphanumeric, exactly 4 characters (3 digits + 1 letter). -
p/CONTACT NUMBER
: Numeric, exactly 8 characters. -
e/EMAIL
: Alphanumeric and/or special characters, no white spaces allowed, standard email format. -
a/ADDRESS
: Alphabets and/or special characters, white spaces allowed. -
t/TAG
: Alphanumeric, no white spaces allowed. -
l/LICENCE PLATE
: Alphanumeric, up to 8 characters. -
c/COMPANY
: Alphanumeric and/or special characters, white spaces allowed. -
pn/POLICY NUMBER
: Alphanumeric, up to 8 characters. -
pi/POLICY ISSUE DATE
andpe/POLICY EXPIRY DATE
: Date in the format dd-mm-yyyy.
Expected output upon success:
Expected output upon failure:
- Invalid command format or no specified
INDEX
or negativeINDEX
:
Invalid command format! edit: Edits the details of the person identified by the index number used in the displayed person list. Existing values will be overwritten by the input values. Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]... [i/NRIC] [l/LICENCE_PLATE] [c/COMPANY] [pn/POLICY_NUMBER] [pi/POLICY_ISSUE_DATE] [pe/POLICY_EXPIRY_DATE] Example: edit 1 p/91234567 e/johndoe@example.com
- No field provided:
At least one field to edit must be provided.
- Editing a client such that all fields match with an existing client:
Error: This person already exists in the client list.
Locating clients by fields : find
Finds client(s) based on conditions you specify.
Format: find [n/NAME] [i/NRIC] [p/CONTACT NUMBER] [l/LICENCE PLATE] [e/EMAIL] [t/TAG]
[c/COMPANY] [pn/POLICY NUMBER] [pi/POLICY ISSUE DATE] [pe/POLICY EXPIRY DATE]
- The search is case-insensitive e.g.
hans
will matchHans
. - At least one of the fields must be present.
- Value given with white spaces for each field is treated as 1 value e.g.
find n/Hans Bo
will return clients with namesHans Bo
in it. - Clients that partially matches with the field given will be returned e.g.
find l/SLA
will return all clients whose licence plates containsSLA
.
Examples:
-
find n/mary
returns all clients that has the nameMary
such asMary Lim
,Mary Koh
,Mary White
. -
find n/Hans Bo
returns all clients that has the nameHans Bo
but not those with onlyHans
orBo
in it. -
find n/john pn/AB12345J
returns all clients whose name containsJohn
with policy numberAB12345J
.
Expected output upon success:
Expected output upon failure:
- No field or invalid arguments given:
Invalid command format! find: Finds all persons whose names contain any of the specified fields (case-insensitive for values) and displays them as a list with index numbers. Parameters: [n/NAME] [l/LICENCE PLATE] [n/NAME] [i/NRIC] [p/CONTACT NUMBER] [l/LICENCE PLATE] [e/EMAIL] [c/COMPANY] [pn/POLICY NUMBER] [pi/POLICY ISSUE DATE] [pe/POLICY EXPIRY DATE] At least one parameter must be present. Example: find n/Alice Rodriguez
- Field prefix given but no value e.g.
n/ c/
:
Error: No value detected for the following field(s): n/ c/
Deleting a client : delete
Deletes the specified client from your client list.
Format: delete INDEX
- Deletes the client at the specified
INDEX
. - The index refers to the index number shown in the displayed list of clients and is a compulsory field.
Examples:
-
list
followed bydelete 2
deletes the 2nd client in the data file. -
find n/Betsy
followed bydelete 1
deletes the 1st client in the results of thefind
command.
Acceptable values for each parameter:
-
INDEX
: It must be a must be a positive integer 1, 2, 3, …
Expected output upon success :
Expected output upon failure:
- Profile at the specified
INDEX
cannot be found:
Error: Invalid Index
- Missing
INDEX
parameter:
Error: Missing Index
- Incorrect
INDEX
parameter:
Error: The parameter is not of the type positive integer
Batch delete clients: batchdelete
Batch delete clients based on a specific condition.
batchdelete
to quickly delete clients whose policies have expired, or for companies you are no longer working with.
Format: batchdelete [c/COMPANY] [dm/DELETE MONTH]
- Batch delete specific clients in the data file.
- Only one of the optional fields must be provided.
- Clients that partially matches with the field given will be deleted e.g.
batchdelete c/NTUC
will delete all clients who buy policy from companiesNTUC Company
andNTUC Insurance
.
Examples:
-
batchdelete dm/07-2020
batch delete clients whose policy expiry date is in July 2020. -
batchdelete c/DEF Insurance
batch delete clients who buy policy from the company DEF Insurance.
Acceptable values for each parameter:
-
c/COMPANY
: Alphanumeric and/or special characters, white spaces allowed. -
dm/DELETE MONTH
: Month and year in the format mm-yyyy.
Expected output upon success:
batchdelete
command has been successfully processed.
Expected output upon failure:
- No field provided:
Invalid command format! batchdelete: batch delete people whose policy: (i) expiry date is in the corresponding month and year OR (ii) belongs to a company. (i) Parameter: dm/MM-yyyy Example: batchdelete dm/11-2022 (ii) Parameter: c/COMPANY NAME Example: batchdelete c/Allianz
- Both fields exist:
Error: Please contain only either one field of dm/ or c/.
- Incorrect format for delete month:
Delete month should be in the format MM-yyyy
Sorting clients by policy expiry date : sort
Sorts the client list.
Format: sort
- Sorts the data file from earliest to latest policy expiry date.
- People in the list with no policy data will be at the end of the sorted list.
Examples:
-
sort
rearranges the displayed list to show which policies are expiring soonest. -
find c/Google
followed bysort
shows the policies expiring soonest in the results of thefind
command.
Expected output upon success :
Remind user of clients policy expiry date : remind
Reminds you of clients that have approaching policy expiry date within a certain number of days.
Format: remind NUMBER_OF_DAYS
- Filters the list based on policy expiry date that is within
NUMBER_OF_DAYS
from current date
Examples:
-
remind 30
returns the all clients with policy expiry date within 30 days from current date
Acceptable values for each parameter:
-
NUMBER_OF_DAYS
: Numeric, range from 0 to 7305
Expected output upon success (Current date is 12-11-2023):
Expected output upon failure:
-
NUMBER_OF_DAYS
not in range 0 to 7305:
Error: The value has to be between 0 and 7305 (both inclusive)
-
NUMBER_OF_DAYS
not numeric:
Invalid command format! Error: The value is not a number
-
NUMBER_OF_DAYS
not given:Invalid command format! remind: Finds all persons whose policy expiry dates is within the specified number of days. Parameters: Number of days Example: remind 30
Adding or removing remark to a client : remark
Adds or removes a remark to a client.
Format: remark INDEX r/[REMARK]
-
REMARK
is the remark that is going to be attached to the client -
INDEX
refers to the index number shown in the displayed list of clients and is a compulsory field - If
REMARK
is not given, it will remove the remark for the client atINDEX
Examples:
-
remark 1 r/Wants cheaper policies!
will attach the commentWants cheaper policies!
to the client that is at index1
-
remark 1
orremark 1 r/
will remove the comment that is attached to client that is at index1
Acceptable values for each parameter:
-
INDEX
: It must be a positive integer 1, 2, 3, … -
REMARK
: Any characters
Expected output upon success:
Expected output upon failure:
- Invalid
INDEX
parameter or noINDEX
:
Invalid command format! remark: Edits the remark of the person identified by the index number used in the last person listing. Existing remark will be overwritten by the input. Parameters: INDEX (must be a positive integer) r/REMARK Example: remark 1 r/Likes to swim.
Clearing all entries : clear
Clears all entries from your client list.
Format: clear
Exiting the program : exit
Exits the program.
Format: exit
Saving the data
InsureIQ data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
InsureIQ data are saved automatically as a JSON file [JAR file location]/data/insureiq.json
. Advanced users are welcome to update data directly by editing that data file.
A sample client entry in the JSON file is as follows. The respective formats are specified in the add
feature guide.
{
"name" : "Alex Yeoh",
"phone" : "87438807",
"email" : "alexyeoh@gmail.com",
"address" : "Blk 30 Geylang Street 29, #06-40",
"tags" : [ "friend" ],
"nric" : "023A",
"licencePlate" : "SNB9538E",
"remark" : "Wants cheap policies!",
"company" : "NTUC Income",
"policyNumber" : "NI11235",
"policyIssueDate" : "11-11-2023",
"policyExpiryDate" : "11-11-2024"
}
FAQ
Q1: How do I check my Java version?
A1:
- For Window users, open Command Prompt.
* For Mac and Linux (Ubuntu) users, open Terminal. - Type
java -version
and press Enter. - If Java is installed, it will display the installed version.
Q2: What should I do if Java 11 is not installed in my device?
A2:
No worries! You can download Java 11 by the instruction below:
- If your device has other version of Java, we recommend you to uninstall it by visit the website below:
* Windows users: uninstall Java on Windows
* Mac users: uninstall Java on Mac
* Linux users: uninstall Java on Linux - Visit Oracle’s Java SE Downloads Page.
- Select the appropriate version for your operating system, click to accept the license agreement.
- Download the installer for your operating system.
- Run the installer and follow the installation instructions.
Q3: Can I transfer my InsureIQ data to another Computer?
A3:
Sure! you can transfer your data to another computer by the following steps below:
- In the original computer you use InsureIQ, open the InsureIQ home folder, you can see a folder named
data
inside. - Clicking this folder, you will see a JSON file named
insureiq
. - After installing InsureIQ in the other computer, open the InsureIQ home folder.
- If you see a
data
folder, open the folder, overwrite the file inside with the JSON file in step 2. - If you don’t see a
data
folder, create the folder, copy the JSON file in step 2 into the folder you created.
Known issues
-
When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, sometimes the program’s window can’t be seen because it opens off the screen. To fix this, go to the InsureIQ home folder, find and delete a file called
preferences.json
. After deleting this file, the program should show up normally when you reopen it.
Command summary
Action | Format, Examples |
---|---|
Add |
add n/NAME i/NRIC p/CONTACT NUMBER e/EMAIL a/ADDRESS [t/TAG]... l/LICENCE PLATE [c/COMPANY pn/POLICY NUMBER pi/POLICY ISSUE DATE pe/POLICY EXPIRY DATE] e.g., add n/Irfan Ibrahim i/752X p/92492021 e/irfan@example.com a/Blk 47 Tampines Street 20,#17-35 t/classmates l/SBP8888T
|
Clear | clear |
Delete |
delete INDEX e.g., delete 3
|
Edit |
edit INDEX [n/NAME] [i/NRIC] [p/CONTACT NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... [c/COMPANY] [l/LICENCE PLATE] [pn/POLICY NUMBER] [pi/POLICY ISSUE DATE] [pe/POLICY EXPIRY DATE] e.g., edit 2 n/Bernice Yeo p/88881111
|
Exit | exit |
Find |
find [n/NAME] [i/NRIC] [p/CONTACT NUMBER] [l/LICENCE PLATE] [e/EMAIL] [t/TAG] [c/COMPANY] [pn/POLICY NUMBER] [pi/POLICY ISSUE DATE] [pe/POLICY EXPIRY DATE] e.g. find n/John pn/AB12345J
|
List | list |
Help | help |
Sort | sort |
Remind |
remind NUMBER_OF_DAYS e.g. remind 30
|
Remark |
remark INDEX r/[REMARK] e.g. remark 1 r/Likes to swim
|
BatchDelete |
batchdelete [c/COMPANY] [dm/DELETE MONTH] e.g. batchdelete c/DEF Insurance
|
Appendix: UG workload distribution
Full Name of Team Member | Agreed allocated sections, duties, roles | Changes if any, record date and reasons for changes | Actual contribution to the UG |
---|---|---|---|
Brendan Neo Jia Wei | Features find and remind , standardise image size of screenshots |
No change | Features find and remind , standardise image size of screenshots |
Chua Yao Xuan | Feature remark , rephrase UG to be user friendly, update section glossary |
No change | Feature remark , rephrase UG to be user friendly, update section glossary |
Kum Chai Yin | Features add and batchdelete , update section FAQ, create UG PDF file |
No change | Features add and batchdelete , update section FAQ, create UG PDF file |
Rohan Sapra | Features delete and sort
|
No change | Features delete and sort
|
Suryansh Kushwaha | Feature edit
|
No change | Feature edit
|