Manage your leads and clients information effortlessly through D.A.V.E. to gain an edge in your FA journey!
D.A.V.E. is a leads and clients management tool for student financial advisors specifically in NUS, but can be used for all student financial advisors.
Here’s a quick overview of D.A.V.E.’s features:
D.A.V.E. is here to enhance your advisory journey by simplifying information management, lead conversion, meeting scheduling and more.
Here are some descriptions of the words we use throughout the User Guide:
Term | Definition |
---|---|
Command | An input from the user that tells D.A.V.E. to perform an action (e.g. add a client). |
GUI | Graphical User Interface (GUI) refers to the visual display of D.A.V.E that users can see. |
CLI | Command Line Interface (CLI) represents a text-based user interface to interact with the application. |
Client | A customer of the financial advisor. |
Lead | A contact who is deemed a potential customer. |
Person | A client or a lead. |
Key Milestone | A date of significant importance for a lead, e.g. date of graduation. |
11
or above installed in your computer.DAVE.jar
from here.cd
into the folder you put the jar file in, and use the java -jar DAVE.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.After starting up the application
ℹ️ Notes about the command format:
Words in 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
.
Items in square brackets are optional.
e.g n/NAME [t/TAG]
can be used as n/John Doe t/friend
or as n/John Doe
.
Items with …
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.
Parameters can be in any order.
e.g. if the command specifies n/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
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
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.
help
.Opened help window.
After using help command
addlead n/NAME p/PHONE e/EMAIL a/ADDRESS k/KEY_MILESTONE [m/MEETING_TIME] [t/TAG]...
.Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/01/12/2023 m/10/10/2023 14:30 t/classmate
.Before using addlead command
After using addlead command
NAME
: can contain any string of alphanumeric characters.
PHONE
: any valid string of integers, between 3 digits and 8 digits long.EMAIL
: a string of the format local-part@domain
.
ADDRESS
: can contain any alphanumeric character, must not be blank.KEY_MILESTONE
: only contains date in the format of dd/MM/yyyy
.
KEY_MILESTONE
is the date of a lead's life-changing event.31/02/2020
, 25/13/2021
.MEETING_TIME
: A string of format dd/MM/yyyy HH:mm
, must not be blank if any meeting time is declared.
31/02/2020
, 25/13/2021
.25:00
, 12:60
.TAG
: can contain any alphanumeric character, must not be blank if any tag is declared.New lead added: <lead details>
When adding a lead with an invalid command format:
Invalid command format!
addlead: Adds a lead to the address book. Parameters: n/NAME p/PHONE e/EMAIL a/ADDRESS k/KEY_MILESTONE [m/MEETING_TIME] [t/TAG]...
Example: addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/01/12/2023 m/10/10/2023 14:30 t/classmate
When adding a lead with the same name as an existing lead:
This lead already exists in the address book
addclient n/NAME p/PHONE e/EMAIL a/ADDRESS [m/MEETING_TIME] [t/TAG]...
.Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/10/10/2023 14:30 t/classmate
.Before using addclient command
After using addclient command
Acceptable values for each compulsory parameter:
NAME
: can contain any string of alphanumeric characters.
PHONE
: any valid string of integers, between 3 digits and 8 digits long.EMAIL
: a string of the format local-part@domain
.
ADDRESS
: can contain any alphanumeric character, must not be blank.Acceptable values for each optional parameter:
MEETING_TIME
: A string of format dd/MM/yyyy HH:mm
, must not be blank if any meeting time is declared.
31/02/2020
, 25/13/2021
.25:00
, 12:60
.TAG
: can contain any alphanumeric character, must not be blank if any tag is declared.Precise expected outputs when the command succeeds:
New client added: <client details>
When adding a client with an invalid command format:
Invalid command format!
addclient: Adds a client to the address book. Parameters: n/NAME p/PHONE e/EMAIL a/ADDRESS [m/MEETING_TIME] [t/TAG]...
Example: addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/10/10/2023 14:30 t/classmate
When adding a client with the same name as an existing client:
This client already exists in the address book
list
.After using list command
Listed all persons
listclient
.List of leads and clients
After using listclient command
Listed all clients
There are no clients in the address book
listlead
.List of leads and clients
After using listlead command
Listed all leads
There are no leads in the address book
view INDEX
.view 1
.After using View Command on a Lead
After using View Command on a Client
INDEX
parameter:
1
to the last index of the filtered list shown in the address book.Viewed Person Successfully
When viewing a person without specifying an index:
Invalid command format!
view: Views the person identified by the index number used.
Parameters: INDEX (must be a positive integer)
Example: view 1
When viewing a person with an invalid index:
The person index provided is invalid
delete INDEX
.delete 1
.Before delete
After delete
INDEX
parameter:
1
to the last index of the filtered list shown in the address book.Deleted person: <person details>
When deleting a person without specifying an index:
Invalid command format!
delete: Deletes the person identified by the index number used in the displayed person list.
Parameters: INDEX (must be a positive integer)
Example: delete 1
When deleting a person with an invalid index:
The person index provided is invalid
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [k/KEY_MILESTONE] [t/TAG]...
.edit 1 p/91234567 e/johndoe@example.com
.Before using edit
After using edit
INDEX
: Any integer from 1
to the last index of the filtered list shown in the address book.NAME
: can contain any string of alphanumeric characters.
PHONE
: any valid string of integers, between 3 digits and 8 digits long.EMAIL
: a string of the format local-part@domain
.
ADDRESS
: can contain any alphanumeric character, must not be blank.KEY_MILESTONE
(Only for leads): only contains date in the format of dd/MM/yyyy
.
31/02/2020
, 25/13/2021
.KEY_MILESTONE
of the person will be edited as client does not have KEY_MILESTONE
.MEETING_TIME
: only contains date in the format of dd/MM/yyyy HH:mm
.
31/02/2020
, 25/13/2021
.25:00
, 12:60
.MEETING_TIME
is null
, it will not remove the existing person's MEETING_TIME
.addmeeting
command.
TAG
: can contain any alphanumeric character, must not be blank if any tag is declared.edit INDEX t\
will clear the tags of a lead or client.
edit
command. For example, if person 1 already has the tag classmate
and you want to add the friend
tag, you can enter the command edit 1 t/classmate t/friend
.
Edited Person: <Person details>
When editing a person with an invalid command format:
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] [k/KEY_MILESTONE] [m/MEETING_TIME] [t/TAG]...
Example: edit 1 p/91234567 e/johndoe@example.com
When editing a person without specifying any field e.g. edit 1
:
At least one field to edit must be provided.
When editing a person with an invalid index:
The person index provided is invalid
addmeeting INDEX m/MEETING_TIME
.addmeeting 1 m/12/10/2023 16:00
.Before using addmeeting
After using addmeeting
INDEX
: Any integer from 1
to the last index of the displayed list.MEETING_TIME
: A string of format dd/MM/yyyy HH:mm
.
31/02/2020
, 25/13/2021
.25:00
, 12:60
.Added Meeting: <MEETING_TIME> to Person <INDEX>
When adding a meeting time to an invalid index or with an invalid datetime format:
Invalid command format!
addmeeting: Adds a new meeting time to the person identified by the displayed index in the address book.
Parameters: INDEX (must be a positive integer) m/MEETING_TIME
Example: addmeeting 1 m/12/10/2023 16:00
When adding a meeting time to a person who already has an existing meeting:
Person already has a meeting time, use the edit command instead
deletemeeting INDEX
.deletemeeting 1
.Before using deletemeeting
After using deletemeeting
INDEX
parameter:
1
to the last index of the filtered list shown in the address book.Deleted Meeting: <MEETING_TIME> from Person <INDEX>
Invalid command format!
deletemeeting: Deletes the meeting identified by the index number used in the displayed meeting list.
Parameters: INDEX (must be a positive integer)
Example: deletemeeting 1
sortmeeting
.Before using sortmeeting
After using sortmeeting
Sorted all meeting times chronologically
converttoclient INDEX
.converttoclient 1
.INDEX
parameter:
1
to the last index of the filtered list shown in the address book, person must be a lead.Before using converttoclient
After using converttoclient
Converted lead to client
The person index provided is invalid
KEY_MILESTONE
is 1 year
from current date to ensure a follow-up by the user.converttolead INDEX
.converttolead 1
.INDEX
parameter:
1
to the last index of the filtered list shown in the address book, person must be a client.Before using converttolead
After using converttolead
Converted client to lead
The person index provided is invalid
John
will match john
.John
will not match Johns
.find john david
will return John Doe
, David Li
.find NAME [MORE_NAMES]
.find John David
.Before using find
After using find john david
NAME
: A keyword used to match against the names of all persons in the list.<NUMBER> persons listed!
Invalid command format!
find: Finds all persons whose names contain any of the specified names (case-insensitive) and displays them as a list with index numbers.
Parameters: NAME [MORE_NAMES]...
Example: find alice bob charlie
clear
.Address book has been cleared!
exit
.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 D.A.V.E. home folder.
Q: What do I do if the clicking of the D.A.V.E. JAR file does not work?
A: Given below are the steps to launch D.A.V.E. using CLI:
java -jar DAVE.jar
and press enterQ: How can I check my Java version?
A: Open a command prompt and type java -version
. If you do not have Java installed, you
can download it here.
preferences.json
file created by the application before running the application again.Action | Format, Examples |
---|---|
Help | help |
Add lead | addlead n/NAME p/PHONE e/EMAIL a/ADDRESS k/KEY_MILESTONE [m/MEETING_TIME] [t/TAG]... e.g. addlead n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 k/01/12/2023 m/10/10/2023 14:30 t/classmate |
Add client | addclient n/NAME p/PHONE e/EMAIL a/ADDRESS [m/MEETING_TIME] [t/TAG]... e.g. addclient n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 m/10/10/2023 14:30 t/classmate |
View all leads and clients | list |
View all clients | listclient |
View all leads | listlead |
View a specific person | view INDEX e.g. view 1 |
Delete lead/client | delete INDEX e.g. delete 1 |
Edit lead/client | edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [k/KEY_MILESTONE] [t/TAG]... e.g. edit 1 n/John Doe p/98765432 |
Add meeting time | addmeeting INDEX m/MEETING_TIME e.g. addmeeting 1 m/12/10/2023 16:00 |
Delete meeting time | deletemeeting INDEX e.g. deletemeeting 1 |
Sort meeting time | sortmeeting |
Convert lead to client | converttoclient INDEX e.g. converttoclient 1 |
Convert client to lead | converttolead INDEX e.g. converttolead 1 |
Locating person by name | find NAME [MORE_NAMES] e.g. find John David |
Clear address book | clear |
Exit the program | exit |