InsureBook is a desktop app for insurance agents to manage potential and existing clients' personal and policy details. The app has a Graphical User Interface (GUI), but most user interactions occur via a Command Line Interface (CLI). If you can type fast, InsureBook can get your client management tasks done faster than traditional GUI apps!
helpaddlisteditfinddeleteviewaddPolicydelPolicyfindPolicymeetingsclearexitEnsure you have Java 11 or above installed in your Computer.
If your computer is not running Java version 11 or above, you may download it from here.
Download the latest InsureBook.jar from here.
Copy the file to the folder you want to use as the home folder for InsureBook.
Open a command terminal and cd into the folder you put the jar file in. Alternatively,
[Windows 11] right-click anywhere in the display pane's background, then click "Open in Terminal":
[macOS] right-click on the home folder and click "New Terminal at Folder":
[Linux] this depends on the environment and file manager. Look for any buttons similar to the ones shown above, e.g. "Open in Terminal" or "Open Terminal Here".
If you can't find any of these buttons (e.g. using a different OS), and can't find similar buttons, we recommend using cd to navigate to this folder.
Type java -jar insurebook.jar to run the application.
A GUI similar to the one below should appear on screen. Note that the app contains some pre-loaded sample data.
Labelling each component of the UI:
| Component | Explanation |
|---|---|
| Input Box | This is where you key in inputs |
| User Feedback Box | After entering an input, feedback will be shown to you here |
| Meetings Panel | Displays* all meeting dates and times, along with the client's name |
| Clients Panel | Displays clients' details (Name, phone number, etc.) |
| Policies Panel | Displays the selected client's policies details (when using view) |
list view, and is NOT sorted chronologically.
Type your command into the user input box and press Enter to execute it. e.g. type help and press Enter to open the help window.
Some example commands you can try:
list : Lists all clients.
add n/John Doe p/98765432 e/johnd@example.com a/123 John Street m/2024-08-02 10:00 : Adds a contact named John Doe to your InsureBook.
delete 3 : Deletes the 3rd client shown in the current list.
clear : Deletes all clients.
exit : Exits the app.
Notes about the command format:
e.g. add is a valid command but Add will not be a valid command.
UPPER_CASE are the parameters to be supplied by the user.e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.
e.g n/NAME [t/TAG] can be used as n/John Doe t/friend or as n/John Doe.
… after them can be used multiple times including zero times.e.g. [t/TAG]… can be used as (i.e. 0 times), t/friend, t/friend t/family etc.
e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.
help, list, exit and clear)
will be ignored.e.g. if the command specifies help 123, it will be interpreted as help.
helpOpens a pop-up window with the link to InsureBook's User Guide and Command Summary for your reference.
The link can be copied by using the 'Enter' key, and the window can be closed using the 'Esc' key.
Format: help
addAdds a client, together with their name, phone number, email, address and meeting date and time into InsureBook.
You may also add optional tags to the client, to provide any extra details as labels.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS m/MEETING_DATE MEETING_TIME [t/TAG]...
PHONE_NUMBER does not need to be unique across different clients.
EMAIL does not need to be unique across different clients.
ADDRESS does not need to be unique across different clients.
Meeting field input MUST be a date and time in the future!
MEETING_TIME MUST be unique!
Name MUST be alphanumeric characters only, and unique across clients!
PHONE_NUMBER MUST be numeric characters only! Min: 3 characters
Examples:
add n/Jenny Chen p/91234567 e/jenjenc@gmail.com a/688, Yio Chu Kang Ave 5, #04-25 m/2024-10-12 14:00
add n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/2024-07-12 12:00 t/friends
add n/Jack Daniel p/91118932 e/jackys@hotmail.com a/291, Woodlands Dr 89, #08-56 m/2025-02-20 10:00 t/acquaintence t/schoolmate
listShows a list of all clients in InsureBook.
Format: list
editEdits an existing client in InsureBook.
Format: edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [m/MEETING_DATE MEETING_TIME] [t/TAG]...
Edits the client at the specified INDEX. The index refers to the index number shown in the displayed client 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.
When editing tags, the existing tags of the client will be removed i.e adding of tags is not cumulative.
You can remove all the client’s tags by typing t/ without specifying any tags after it.
PHONE_NUMBER does not need to be unique.
EMAIL does not need to be unique.
ADDRESS does not need to be unique.
Meeting field input MUST be a date and time in the future!
MEETING_TIME MUST be unique!
Name MUST be alphanumeric characters only!
PHONE_NUMBER MUST be numeric characters only! Min: 3 characters
Examples:
edit 1 p/91234567 e/johndoe@example.com Edits the phone number and email address of the 1st client to
be 91234567 and johndoe@example.com respectively.
edit 2 n/Jinny Tan t/friends Edits the name of the 2nd client to be Jinny Tan and overrides existing tags
with the friends tag.
edit 4 n/Betsy Crower t/ Edits the name of the 4th client to be Betsy Crower and clears all existing tags.
findFinds clients whose names contain any of the input keywords.
Format: find KEYWORD [MORE_KEYWORDS]
The search is case-insensitive. e.g hans will match Hans
The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans
Only the name is searched.
Both full and partial words will be matched e.g. Han will match Hans
Clients matching at least one keyword will be returned (i.e. OR search). e.g. Hans Bo will return Hans Gruber, Bo Yang
Examples:
find Joh returns Johnny Daniels and John Doe
find alex david returns Alex Yeoh, David Li
deleteRemoves an existing client based on their index from InsureBook.
Format: delete INDEX
INDEX.Examples:
list followed by delete 2 deletes the 2nd client displayed in InsureBook.
find Betsy followed by delete 1 deletes the 1st client in the results of the find command.
viewExpands a client's profile such that the user can see all policies and policy details.
The policies panel will expand upon calling the view function:
Format: view INDEX
INDEX.Examples:
view 1 will show all policies and policy details of the 1st client displayed in InsureBook.
find Bern followed by view 2 will show all policies and policy details of the 2nd client in
the results of the find command.
addPolicyAdds a new insurance policy to a specific client.
Format: addPolicy INDEX pol/POLICY_NAME type/POLICY_TYPE polnum/POLICY_NUMBER pterm/PREMIUM_TERM prem/POLICY_PREMIUM b/BENEFIT
INDEX.POLICY_NAME is the name of the policy to be added.POLICY_TYPE is the type of policy to be added. (e.g. "Health", "Car", "Life")POLICY_NUMBER is the policy number of the policy and must not be repeated in the person's current list
of policies. (e.g. "123456", "123-abc-xyz")PREMIUM_TERM is the premium term of the policy. The premium term of the policy can only be one of the
following options (case insensitive):
["Single", "Monthly", "Quarterly", "Semi-annually", "Annually"]
POLICY_PREMIUM is the premium of the policy. You may use alphanumeric characters, including spaces, for the
abbreviation of large numbers or to indicate non-cash payment methods. (e.g. "100mil", "500 CPF OA")POLICY_PREMIUM MUST be alphanumeric characters and spaces only!
BENEFIT is the policy's benefit (e.g. sum assured). You may use alphanumeric characters, including spaces, for the abbreviation of
large numbers. (e.g. "100mil", "100M")BENEFIT MUST be alphanumeric characters and spaces only!
Examples:
addPolicy 1 pol/SuperSaver type/CI polnum/39376234 pterm/Annually prem/3000 b/100000delPolicyDeletes an existing insurance policy of a specific client.
Format: delPolicy INDEX polnum/POLICY_NUMBER
INDEX.INDEX.Examples:
delPolicy 1 polnum/39376234 will delete the existing policy with policy number 39376234 from the Client at INDEX 1.delPolicy 2 polnum/1111111A will delete the existing policy with policy number 1111111A from the Client at INDEX 2.findPolicyFinds the specified policy for all clients
Format: findPolicy POLICY_NAME
Finds clients with the specified POLICY_NAME.
POLICY_NAME is the part of the policy you are searching for.
Examples:
findPolicy SuperSaverfindPolicy SuperfindPolicy SmeetingsOpens a new window containing a list of all meetings for this week, in chronological order.
Meetings are considered to be scheduled for the current week if they are within the same Monday to Sunday block:
e.g. If today is Tuesday (2nd April), then meetings scheduled from Monday (1st April) to Sunday (7th April) will be displayed.
Meetings will be displayed as: "Number | < Meeting Date & Time > with: < Client Name >". The meetings window can be closed by simply pressing 'Esc' on your keyboard.
Format: meetings
clearClears all client entries from InsureBook.
Format:clear
exitExits Insurebook and closes the application window.
Format:exit
AddressBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous InsureBook home folder.
Q: What if I have two clients with the same name?
A: You are not allowed to add clients with duplicate names into InsureBook. If you have more than 1 client with the same name, consider adding a unique identifier to their names, e.g. 'John Doe from NUS' and 'John Doe from SMU'.
Q: My client's name contains special characters, but the Name field must be alphanumeric only. How do I workaround this?
A: For now, you may use a space character for such scenarios, e.g. "s o" instead of "s/o". We will allow some special characters in future versions of InsureBook.
Q: Can I leave the meeting field empty for clients that I have not scheduled a meeting with?
A: No - the meeting field is mandatory. You WILL need to schedule appointments with your clients before adding them to the address book. We believe that requiring you to be proactive in scheduling appointments will help you reach greater heights in your career!
Q: How can I edit my client's current policy details? I typed some fields wrongly.
A: You may delete the policy with delPolicy and add the correct version with addPolicy.
preferences.json file created
by the application before running the application again.| Action | Format, Examples |
|---|---|
| Find help | help |
| Add client | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS m/MEETING_DATE MEETING_TIME [t/TAG]… e.g., add n/James Ho p/91112222 e/jamesho@example.com a/123 Clementi Rd, S(123456) m/2025-02-20 10:00 t/single t/student |
| List all clients | list |
| Edit client | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [m/MEETING_DATE MEETING_TIME] [t/TAG]…e.g., edit 2 n/James Lee e/jameslee@example.com |
| Find client(s) using name | find KEYWORD [MORE_KEYWORDS]e.g., find James Jake |
| Delete client | delete INDEXe.g., delete 3 ` |
| View client profile | view INDEXe.g., view 6 |
| Add policy to client | addPolicy INDEX pol/POLICY_NAME type/POLICY_TYPE polnum/POLICY_NUMBER pterm/PREMIUM_TERM prem/POLICY_PREMIUM b/BENEFIT e.g., addPolicy 1 pol/SuperSaver type/CI polnum/39376234 pterm/Annually prem/3000 b/100000 |
| Delete policy from client | delPolicy INDEX polnum/POLICY_NUMBER e.g., delPolicy 1 polnum/39376234 |
| Find client(s) using policy | findPolicy POLICY_NAMEe.g., find Savers |
| View weekly list of meetings | meetings |
| Clear all client entries | clear |
| Exit | exit |