User Guide
- 1. Introduction
- 2. About this document
- 3. User interface
- 4. Quick start
-
5. Features
-
5.1. Contacts
- 5.1.1. Listing all contacts:
contact list
[Wang Luo] - 5.1.2. Adding a contact:
contact add
[Wang Luo] - 5.1.3. Deleting a contact:
contact delete
[Wang Luo] - 5.1.4. Editing a contact:
contact edit
[Wang Luo] - 5.1.5. Locating contacts by name:
contact find
[Aaron Seah] - 5.1.6. Sorting contacts:
contact sort
[Aaron Seah]
- 5.1.1. Listing all contacts:
- 5.2. Tags
-
5.3. Sales
- 5.3.1. Listing all sales:
sale list
[Kwek Min Yih] [Aaron Seah] - 5.3.2. Adding a sale to a customer:
sale add
[Kwek Min Yih] - 5.3.3. Deleting a sales item:
sale delete
[Kwek Min Yih] - 5.3.4. Editing an existing sale:
sale edit
[Kwek Min Yih] - 5.3.5. Viewing a breakdown of sales made in each tag:
sale breakdown
[Kwek Min Yih] - 5.3.6. Viewing monthly sale count:
sale stats
[Aaron Seah]
- 5.3.1. Listing all sales:
-
5.4. Meetings
- 5.4.1. Listing all meetings:
meeting list
[Sebastian Toh Shi Jian] - 5.4.2. Adding a meeting:
meeting add
[Sebastian Toh Shi Jian] - 5.4.3. Deleting a meeting:
meeting delete
[Sebastian Toh Shi Jian] - 5.4.4. Editing a meeting:
meeting edit
[Sebastian Toh Shi Jian] - 5.4.5. Viewing monthly meetings:
meeting stats
[Aaron Seah]
- 5.4.1. Listing all meetings:
- 5.5. Reminders
- 5.6. Archive
-
5.7. Miscellaneous
- 5.7.1. Suggesting for error resolution [Aaron Seah]
- 5.7.2. Navigating between previous inputs within the session [Leong Jin Ming]
- 5.7.3. Switching between light and dark themes:
lightmode
/darkmode
[Leong Jin Ming] - 5.7.4. Viewing help:
help
[Aaron Seah] - 5.7.5. Clearing all past interactions:
clear
[Leong Jin Ming] - 5.7.6. Removing all data:
purge
[Leong Jin Ming] - 5.7.7. Exiting the program:
exit
-
5.1. Contacts
- 6. FAQ
- 7. Command summary
1. Introduction
StonksBook is an all-in-one contact management application targeted at salespeople. From helping you managing your clients to your sales information, StonksBook is sure to boost your performance and conversion rates, all while reducing the time you spend on menial tasks such as generating performance reports.
Here are a few ways StonksBook can help you:
- Data Management: Store and organise all your client and sales information easily.
- Personal Management: Track and easily review all your reminders and meetings in a single application.
- Real-Time Insights: Get real-time insights into your sales performance so you can further optimise and tweak your sales strategy.
- Ease and Speed of Use: No more fumbling through clunky user interfaces filled with obscure buttons which you do not even you use most of the time! StonksBook combines the best of a Command Line Interface (CLI) as well as a Graphical User Interface (GUI) - interact with the application by typing commands in the CLI and view the results in a clear GUI!
2. About this document
Before continuing, it may be helpful to familiarise yourself with a few symbols and the different text markups that you will encounter in this User Guide:
These are the symbols used in this document:
Additional information:
This provides you with additional information that you should take note of.
This provides you with helpful tips.
The different text markups and their meanings are explained in the table below:
Markup | Meaning |
---|---|
sample text |
Represents technical terms related to StonksBook’s implementation |
Enter | Represents a keystroke that can be pressed on the keyboard |
Check out the list below on how to use this User Guide:
- If you are a first-time user, start from the Quick start section for instructions on downloading and setting up StonksBook.
- If you are interested to learn about the various features StonksBook has, check out the Features section.
- If you are already familiar with StonksBook, but need a slight refresher, check out the Command summary section.
3. User interface
This is what StonksBook looks like when started:
The user interface features several panels labelled above, that contain the Contact List, Meeting List, Reminder List and Sale List. The bottom right panel (which currently contains the Sale List) is the Ad-Hoc Panel, which displays either the Sale List or Tag List depending on which command was executed most recently. If a sale command was executed most recently, the Sale List is shown, whereas if a tag command was executed most recently, the Tag List is shown.
The figure below displays the User Interface with the Tag List being shown. The Tag List consists of two parts, the Contact Tag List and the Sale Tag List. Besides the Ad-Hoc Panel, the display is unchanged for all other lists.
4. Quick start
This section will provide a quick guide to get StonksBook up and running on your computer.
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
stonksbook.jar
from here. -
Copy the file to the folder you want to use as the home folder for StonksBook.
-
Double-click the file to start the app. The 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:-
contact list
: Lists all contacts. -
contact add
n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: Adds a contact namedJohn Doe
to StonksBook. -
contact delete
3
: Deletes the 3rd contact shown in the current list. -
purge
: Deletes all contacts. -
exit
: Exits the app.
-
-
Refer to the Features below for details of each command.
5. Features
This section introduces the various features available in StonksBook.
Before we begin, do take note of the following information which applies to all of StonksBook’s commands:
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. incontact add n/NAME
,NAME
is a parameter which can be used ascontact add 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.
5.1. Contacts
StonksBook allows you to manage your contacts effectively and efficiently.
5.1.1. Listing all contacts: contact list
[Wang Luo]
Shows a list of all contacts in StonksBook.
Format:contact list
Example:
Let’s say you want to take a look at all your contacts in StonksBook. Here are the steps to follow:
-
Type
contact list
in the Command Box and press Enter. -
The Contact List now displays all your existing contacts in StonksBook.
5.1.2. Adding a contact: contact add
[Wang Luo]
Adds a contact to StonksBook.
Format: contact add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… [r/REMARK]
Parameter | What it is | Requirements |
---|---|---|
NAME |
Name of contact | Must contain only alphabetical characters |
PHONE_NUMBER |
Phone number of contact | Must contain only numerical characters |
EMAIL |
Email of contact | Must be in format local-part@domain Local-part must only contain alphanumeric characters Domain name must
|
ADDRESS |
Address of contact | Can take any value |
TAG |
Tag to be assigned to contact | Must exist in StonksBook first before you can associate the contact to them. |
REMARK |
Remark related to contact | Can take any value |
Tip: A contact can have any number of tags (including 0)
- Duplicate contacts cannot be added. A contact with the same name (case sensitive) and same phone number/email address will be flagged as a duplicate.
Example:
Let’s say that you would like to add Betsy Crowe, who is a friend of yours, to your contact list. Here are the steps to follow:
-
Type
contact add n/Betsy Crowe p/1234567 e/betsycrowe@example.com a/Newgate Street t/friends
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Contact List now contains Betsy Crowe.
5.1.3. Deleting a contact: contact delete
[Wang Luo]
Deletes the specified contact from StonksBook. All associated sales, reminders and meetings will be deleted as well.
Format: contact delete INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
- Deletes the contact at the specified
INDEX
.
Example:
Let’s say that Betsy Crowe no longer does business with you and you would like to remove her from your contact list. Here are the steps to follow:
Tip: You can learn more about the contact find
command in locating contacts by name.
-
Type
contact find Betsy Crowe
in the Command Box and press Enter. -
The contact, Betsy Crowe, will now appear at the top of the Contact List.
-
Type
contact delete 1
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the contact, Betsy Crowe, is now deleted.
-
Type
contact list
in the Command Box and press Enter to return to display all contacts, note that Betsy Crowe is no longer in the Contact List.
5.1.4. Editing a contact: contact edit
[Wang Luo]
Edits an existing contact in StonksBook.
Format: contact edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]… [r/REMARK]
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
NAME |
Name of contact | Must contain only alphabetical characters |
PHONE_NUMBER |
Phone number of contact | Must contain only numerical characters |
EMAIL |
Email of contact | Must be in format local-part@domain Local-part must only contain alphanumeric characters Domain name must
|
ADDRESS |
Address of contact | Can take any value |
TAG |
Tag to be assigned to contact | Must exist in StonksBook first before you can associate the contact to them. |
REMARK |
Remark related to contact | Can take any value |
- Edits the contact at the specified
INDEX
. - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing a contact’s tags, the existing tags of the contact will be removed i.e adding of tags is not cumulative.
- When editing a contact’s remark, the previous remark will also be removed/overwritten.
- You can remove all the contact’s tags/remark by typing
t/
orr/
respectively without specifying any tags/remark after it.
Example:
Let’s say that Bernice Yu moved to a new address: 36 College Avenue East and you would like to update her address. Here are the steps to follow:
-
Type
contact find Bernice Yu
in the Command Box and press Enter. -
The contact, Bernice Yu, will now appear at the top of the Contact List.
-
Type
contact edit 1 a/36 College Avenue East
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and Bernice Yu’s address is now updated to 36 College Avenue East.
5.1.5. Locating contacts by name: contact find
[Aaron Seah]
Finds contacts whose name exactly matches or is similar to any of the given keywords.
Format: contact find KEYWORD [MORE_KEYWORDS]...
Parameter | What it is | Requirements |
---|---|---|
KEYWORD |
Keyword for finding contacts by name | Can take any value |
-
The search is case-insensitive. e.g. keyword ‘hans’ will match the contact with the name ‘Hans’.
-
The contact list is ordered by non-ascending similarity to the given keywords.
-
Exact matches (if exist) will appear as the top results.
This feature gives an approximate result for contacts whose name is similar to any of the given keywords.
Example:
Let’s say you want to find the contact with the name Alex Yeoh
but you do not know the correct spelling of the name.
You decide to search for alx yo
which has a similar pronunciation.
You can still find the contact with the name Alex Yeoh
as shown.
-
Type
contact find alx yo
in the Command Box and press Enter. -
The Contact List now contains contacts whose name is similar to
alx yo
. -
The contact with the name
Alex Yeoh
appears as the first contact on the Contact List.
5.1.6. Sorting contacts: contact sort
[Aaron Seah]
Sorts contacts based on the contact’s name or email address.
Format: contact sort KEYWORD [ORDER]
Parameter | What it is | Requirements |
---|---|---|
KEYWORD |
Keyword for sorting contacts | Must be either n/ or e/
|
ORDER |
Sorting order | Must be desc
|
-
If
ORDER
is present, the contacts will be sorted in reverse alphabetical order. Otherwise, the contacts will be sorted in alphabetical order. -
The sorting order is case-insensitive. e.g. A contact with the name ‘Alex’ is equivalent to a contact with the name ‘alex’ in the sorting process.
-
The sorting effect will only last until another contact command except
contact delete
is executed.
Example:
Let’s say you want to see your contacts in reverse alphabetical order based on their name.
-
Type
contact sort n/ desc
in the Command Box and press Enter. -
The contacts in the Contact List is sorted in reverse alphabetical order based on the contact name.
5.2. Tags
StonksBook allows you to create tags for your contacts as well as sales so that you can categorise them easily.
5.2.1. Listing all tags: tag list
[Wang Luo]
Displays a list of all tags created so far.
Format: tag list
Example:
Let’s say that you want to see all the tags you have created so far. Here are the steps to follow:
-
Type
tag list
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the bottom right box will now display Contact Tags and Sales Tags.
5.2.2. Adding a tag: tag add
[Wang Luo]
Adds a new customised contact tag or sales tag to StonksBook.
StonksBook will not allow you to add a new contact tag (or sales tag) if there already exists a contact tag (or sales tag) of the same name.
Format: tag add (ct/ or st/)TAG
-
ct/
stands for contact tag,st/
stands for sales tag. - Adds a contact tag (if
ct/
is typed) or a sales tag (ifst/
is typed) with the specifiedTAG
as the tag name to the contact tag list (or sales tag list).
Parameter | What it is | Requirements |
---|---|---|
TAG |
Name of the new tag | Must contain only alphanumeric characters and should not be blank |
Example:
Let’s say that you want to add a new sales tag called electronics. Here are the steps to follow:
-
Type
tag add st/electronics
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Sales Tags will now contain this new sales tag.
5.2.3. Deleting a tag: tag delete
[Wang Luo]
Deletes the specified tag from the tag list. The tag information in all entries previously associated with this tag will also be cleared.
Format: tag delete (st/ or ct/)INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed contact tag list or sales tag list | Must be provided and must be a positive integer 1, 2, 3, … |
- All contacts that have been previously associated with this tag will be updated so that their associations with this tag will be cleared.
Example:
Let’s say that you think one contact tag (colleagues) you created before is no longer relevant and you would like to get rid of it. Here are the steps to follow:
- Type
tag list
in the Command Box and press Enter.- This is to display the contact tags and sales tags in StonksBook, and the contact tag colleagues is found to be at index 2.
-
Type
tag delete ct/2
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Contact Tags will no longer contain the contact tag colleagues. Also note that Bernice Yu is no longer tagged with colleagues.
5.2.4. Editing a tag: tag edit
[Wang Luo]
Edits an existing tag in StonksBook to the specified tag name.
All entries (contacts or sales) previously associated with this tag will be updated to associate with the updated tag.
Format: tag edit (ct/ or st/)INDEX t/TAG
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed contact tag list or sales tag list | Must be provided and must be a positive integer 1, 2, 3, … |
TAG |
New name for the tag to be edited | Must contain only alphanumeric characters and should not be blank |
- Edits the name of the contact tag or sales tag at the specified
INDEX
to be the specifiedNAME
. - All contacts or sales that have been previously associated with this tag will be updated automatically to be associated with the updated tag.
Example:
Let’s say that you decide to change the tag colleagues to teammates instead. Here are the steps to follow:
- Type
tag list
in the Command Box and press Enter.- This is to display the contact tags and sales tags in StonksBook.
-
Type
tag edit ct/2 t/teammates
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Contact Tags will now contain teammates instead of colleagues. Note that the tags are sorted alphabetically, hence, you may need to scroll up or down to see the updated tag. Also, note that the contact Bernice Yu is now tagged to teammates.
5.2.5. Retrieving entries by tag: tag find
[Wang Luo]
Displays all entries (contacts or sales) that are associated with the specified tag.
Format: tag find (ct/ or st/)INDEX [cl/]
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed contact tag list or sales tag list | Must be provided and must be a positive integer 1, 2, 3, … |
- Finds all contacts or sales associated with the tag at
INDEX
. - An additional
cl/
(stands for ‘client’) field can be provided when performing searching on sales tags. If provided, instead of displaying sales associated to this tag, StonksBook will display the clients who have purchased items with this tag. - If you are searching for contact tags using
ct/
, adding thecl/
tag will have no effect on the search results.
Example:
Let’s say that you would like to find out who are the contacts tagged with friends. Here are the steps to follow:
- Type
tag list
in the Command Box and press Enter.- This is to display the contact tags and sales tags in StonksBook, and the contact tag friends is found to be at index 3.
-
Type
tag find ct/3
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, as well as a list of contacts who are tagged with friends.
Now suppose that you would like to find out who purchased items that are tagged with music. Here are the steps to follow:
- Type
tag list
in the Command Box and press Enter.- This is to display the contact tags and sales tags in StonksBook, and the contact tag friends is found to be at index 3.
-
Type
tag find st/2
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, as well as a list of clients who purchased items tagged with music.
5.3. Sales
StonksBook allows you to manage the sales you made within the application.
5.3.1. Listing all sales: sale list
[Kwek Min Yih] [Aaron Seah]
Shows a list of sales.
Format: sale list [c/CONTACT_INDEX] [m/MONTH y/YEAR]
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
MONTH |
Month | Must be an integer between 1 and 12 inclusive |
YEAR |
Year | Must be a positive integer 1, 2, 3, … |
-
c/CONTACT_INDEX
andm/MONTH y/YEAR
cannot be present at the same time. - If no parameter is present:
- all sales are listed.
- If
c/CONTACT_INDEX
is present:- all sales made to a contact with the specified index are listed.
- If
m/MONTH y/YEAR
is present:- all sales whose associated date is in the specified
MONTH
andYEAR
are listed.
- all sales whose associated date is in the specified
- The list is sorted in ascending order based on the date the sale is made.
Example:
Let’s say you want to view all sales made to Bernice Yu. This is what you need to do:
- Type
contact find bernice
in the Command Box and press Enter.- This is to identify the contact index corresponding to Bernice Yu.
- The Result Box will display a message of the number of contacts listed and the Contact List updates to show only contacts with the name ‘Bernice’. Identify the correct index that corresponds to Bernice Yu, which is 1 in this example.
-
Type
sale list c/1
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Sale List will show a list of sales made to Bernice Yu.
5.3.2. Adding a sale to a customer: sale add
[Kwek Min Yih]
Adds a sale to the specified contact in StonksBook.
Format: sale add c/CONTACT_INDEX… n/ITEM_NAME d/DATETIME_OF_PURCHASE p/UNIT_PRICE q/QUANTITY t/TAG…
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
ITEM_NAME |
Name of the item(s) sold | Must contain only alphabetical characters |
DATETIME_OF_PURCHASE |
Datetime of when the sale was made | Must be in the format yyyy-MM-dd HH:mm
|
UNIT_PRICE |
Unit price of each item sold | Must be a positive number greater than 0 and less than 10 million with 2 decimal places, in the format DOLLARS.CENTS . |
QUANTITY |
Quantity of items sold | Must be a positive integer greater than 0 and less than 10 million. |
TAG |
Tag to be assigned to the sale | Must exist in StonksBook first before you can associate the sales item to them. |
- Multiple
CONTACT_INDEX
can be specified, meaning that you can add a sale to multiple contacts. - It is compulsory to have a tag for the sales item. This is to ensure the ease of data analytics.
- Duplicate sales cannot be added. A sale with the same item name (not case sensitive), contact, datetime of purchase, unit price and quantity will be flagged as a duplicate.
Example:
Suppose you successfully sold 100 guitar tuners at a unit price of $10.00 with Bernice Yu on 30 October 2020, 3pm. Here’s how you can add this new sale into StonksBook:
- Type
contact find bernice
in the Command Box and press Enter.- This is to identify the contact index corresponding to Bernice Yu.
-
The Result Box will display a message of the number of contacts listed and the Contact List updates to show only contacts with the name ‘Bernice’. Identify the correct index that corresponds to Bernice Yu, which is 1 in this example.
-
Type
sale add c/1 n/Guitar Tuner d/2020-10-30 15:00 p/10.00 q/100 t/music
in the Command Box and press Enter. - The Result Box will display a message noting that the command was successful, and the Sale List will
contain this newly created sale.
- You may have to scroll through your Sale List to find this newly created sale since sales are sorted in ascending order based on the date the sale is made.
5.3.3. Deleting a sales item: sale delete
[Kwek Min Yih]
Deletes a specified sales item from StonksBook.
Format: sale delete s/SALE_INDEX…
Parameter | What it is | Requirements |
---|---|---|
SALE_INDEX |
Index number shown in the displayed sale list | Must be a positive integer 1, 2, 3, … |
- Multiple
SALE_INDEX
can be specified, meaning that you can delete multiple sales with the same command.
Example:
Let’s say that you have just received the unfortunate news from Bernice Yu who no longer wishes to buy 300 black pens from you. Here’s how you can delete this sale in StonksBook:
- Type
contact find bernice
in the Command Box and press Enter.- This is to identify the contact index corresponding to Bernice Yu.
-
The Result Box will display a message of the number of contacts listed and the Contact List updates to show only contacts with the name ‘Bernice’. Identify the correct index that corresponds to Bernice Yu, which is 1 in this example.
-
Type
sale list c/1
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Sale List will show a list of sales made to Bernice Yu. Identify the index of the sale to be deleted. Let us assume it is at the third index.
-
Type
sale delete s/3
in the Command Box, and press Enter to execute it. -
You should see that the sale has been deleted from the sale list.
5.3.4. Editing an existing sale: sale edit
[Kwek Min Yih]
Edits an existing sale in StonksBook.
Format: sale edit s/SALE_INDEX… [c/CONTACT_INDEX] [n/ITEM_NAME] [d/DATETIME_OF_PURCHASE] [p/UNIT_PRICE] [q/QUANTITY] [t/TAG]…
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
ITEM_NAME |
Name of the item(s) sold | Must contain only alphabetic characters |
DATETIME_OF_PURCHASE |
Datetime of when the sale was made | Must be in the format yyyy-MM-dd HH:mm
|
UNIT_PRICE |
Unit price of each item sold | Must be a positive number greater than 0 and less than 10 million with 2 decimal places, in the format DOLLARS.CENTS . |
QUANTITY |
Quantity of items sold | Must be a positive integer greater than 0 and less than 10 million. |
TAG |
Tag to be assigned to the sale | Must exist in StonksBook first before you can associate the sales item to them. |
- Multiple
SALE_INDEX
can be specified, meaning that you can edit multiple sales with the same command. - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing a sale’s tags, the existing tags of the sale will be removed i.e adding of tags is not cumulative.
Example:
Suppose you have just received the good news that Bernice Yu would like to buy 1000 Black Pens instead of the 300 she previously specified. Here’s how you can edit her sale in StonksBook:
-
Identify the index corresponding to the sale to be edited in the sale list. If you have a large list of sales, it may be convenient to filter for all sales made to Bernice Yu. Assuming that Bernice Yu is the 2nd contact currently displayed in the contact list, you can type
sale list c/2
. -
The sale list will update to show only sales made to Bernice Yu.
-
Suppose the sale to be edited is at the third index in the sale list. Then, type
sale edit s/3 q/20
in the Command Box, and press Enter to execute it. -
You should see that the sale has been updated to reflect this new quantity.
5.3.5. Viewing a breakdown of sales made in each tag: sale breakdown
[Kwek Min Yih]
Displays the number of sales belonging to the top 5 tags.
Format: sale breakdown
- This will display a bar graph showing the top 5 tags with the most sales, and the number of sales belonging to each tag in an external window.
- The bar graph in the external window will not automatically refresh upon updating of sales.
To see the new updated bar graph, close the current external window and run the
sale breakdown
command again.
Example:
-
Type
sale breakdown
in the Command Box and press Enter. -
A new window containing the bar chart pops up.
5.3.6. Viewing monthly sale count: sale stats
[Aaron Seah]
Views the monthly sale count for the current month and previous months.
Format: sale stats NUMBER_OF_MONTHS
Parameter | What it is | Requirements |
---|---|---|
NUMBER_OF_MONTHS |
The number of monthly sale counts, inclusive of the current month | Must be a positive integer between 2 and 6 inclusive. e.g. 2, 3, … , 6 |
Example:
Let’s say you want to compare the number of sales you have made for each month of the past 5 months and the current month. Let’s assume that the current month and year is November 2020. You can do so as shown.
-
Type
sale stats 6
and press Enter. -
A new window containing a bar chart will appear. The bar chart will contain the monthly meeting count for each the previous 5 months: June 2020, July 2020, August 2020, September 2020, October 2020, followed by the current month and year November 2020.
5.4. Meetings
StonksBook allows you to manage your meetings within the application.
5.4.1. Listing all meetings: meeting list
[Sebastian Toh Shi Jian]
Shows a list of all meetings. By default, the list only shows upcoming meetings. This list is sorted in ascending order based on the date the meeting is scheduled.
Format: meeting list [c/CONTACT_INDEX] [a/]
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
- When a contact index is specified, the list will only show meetings associated with the specified contact.
- You can show all meetings, including past meetings, by including
a/
.
Example:
Suppose you want to view all upcoming meetings scheduled with Alex Yeoh. This is what you need to do:
- Type
contact find alex
in the Command Box and press Enter.- This is to identify the contact index corresponding to Alex Yeoh and can be skipped if you already know the index. Let us assume that Alex Yeoh is at the first index.
-
The Result Box will display a message of the number of contacts listed and the Contact List updates to show only contacts with the name ‘Alex’.
-
Type
meeting list c/1
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Meeting List will show a list of upcoming meetings scheduled with Alex Yeoh.
5.4.2. Adding a meeting: meeting add
[Sebastian Toh Shi Jian]
Adds a meeting with the specified contact in StonksBook.
Note on conflicting meetings:
To prevent the situation in which you unknowingly scheduled conflicting meetings, StonksBook will not allow you to
add a new meeting if it conflicts with some meeting in StonksBook!
Format: meeting add c/CONTACT_INDEX m/MESSAGE d/START_DATETIME du/DURATION
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
MESSAGE |
Message associated with the meeting | Must contain only alphanumeric characters and should not be blank |
START_DATETIME |
Date and time of the meeting | Must be in the format yyyy-MM-dd HH:mm
|
DURATION |
Duration of the meeting (in minutes) | Must be a positive integer between 1 and 1000000 (inclusive) |
Example:
Let’s say that you successfully secured a lunch meeting with Alex Yeoh that is scheduled for 3 December 2020, 12pm, which lasts 90 minutes. Here’s how you can add this new meeting into StonksBook:
- Type
contact find alex
in the Command Box and press Enter.- This is to identify the contact index corresponding to Alex Yeoh and can be skipped if you already know the index. Let us assume that Alex Yeoh is at the first index.
-
The Result Box will display a message of the number of contacts listed.
-
Type
meeting add c/1 m/Lunch with Alex Yeoh d/2020-12-03 12:00 du/90
in the Command Box and press Enter. - The Result Box will display a message noting that the command was successful, and the Meeting List will
contain this newly created meeting.
- You may have to scroll through your Meeting List to find this newly created meeting since meetings are sorted in ascending order based on the date the meeting is scheduled.
5.4.3. Deleting a meeting: meeting delete
[Sebastian Toh Shi Jian]
Deletes the specified meeting from StonksBook.
Format: meeting delete INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed meeting list | Must be a positive integer 1, 2, 3, … |
Example:
Let’s say that you have just received an unfortunate email from Alex Yeoh who no longer wishes to meet with you on 3 December 2020, 12pm. Here’s how you can delete this meeting in StonksBook:
- Type
meeting list
in the Command Box and press Enter.- This is to display all upcoming meetings in the Meeting List, which is necessary to identify the index of the meeting that is to be deleted. This step can be skipped if you already know the index. Let us assume that the meeting is at the third index.
-
Type
meeting delete 3
in the Command Box, and press Enter to execute it. -
The Result Box will display a message noting that the command was successful, and the meeting is deleted from the Meeting List.
5.4.4. Editing a meeting: meeting edit
[Sebastian Toh Shi Jian]
Edits an existing meeting in StonksBook.
Note on conflicting meetings:
Similar to when adding a meeting, StonksBook will not allow you to edit a meeting if it will conflict with some meeting
in StonksBook!
Format: meeting edit INDEX [c/CONTACT_INDEX] [m/MESSAGE] [d/START_DATETIME] [du/DURATION]
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed meeting list | Must be a positive integer 1, 2, 3, … |
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
MESSAGE |
Message associated with the meeting | Must contain only alphanumeric characters and should not be blank |
START_DATETIME |
Date and time of the meeting | Must be in the format yyyy-MM-dd HH:mm
|
DURATION |
Duration of the meeting (in minutes) | Must be a positive integer between 1 and 1000000 (inclusive) |
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Example:
Let’s say that you have just received an email from Charlotte Oliveiro who wishes to bring forward the product demo to 15 December 2020, 12pm. Here’s how you can make this change in StonksBook:
- Type
meeting list
in the Command Box and press Enter.- This is to display all upcoming meetings in the Meeting List, which is necessary to identify the index of the meeting that is to be edited. This step can be skipped if you already know the index. Let us assume that the meeting is at the third index.
-
Type
meeting edit 3 d/2020-12-15 12:00
in the Command Box, and press Enter to execute it. -
The Result Box will display a message noting that the command was successful, and the meeting is updated in the Meeting List.
5.4.5. Viewing monthly meetings: meeting stats
[Aaron Seah]
Views the monthly meeting count for the current month and optionally for the previous months.
Format: meeting stats [NUMBER_OF_MONTHS] [m/MONTH y/YEAR]
-
NUMBER_OF_MONTHS
andm/MONTH y/YEAR
cannot be present at the same time.
Parameter | What it is | Requirements |
---|---|---|
NUMBER_OF_MONTHS |
The number of monthly meeting counts, inclusive of the current month | Must be a positive integer between 2 and 6 inclusive. e.g. 2, 3, … , 6 |
MONTH |
month | Must be an integer between 1 and 12 inclusive. e.g. 1, 2, … , 12 |
YEAR |
year | Must be a positive integer 1, 2, 3 … |
- If no parameter is present:
- The result is the number of meetings whose start date is in the current month and year.
- If
[m/MONTH y/YEAR]
is present:- The result is the number of meetings whose start date is in the specified
MONTH
andYEAR
.
- The result is the number of meetings whose start date is in the specified
- If
[NUMBER_OF_MONTHS]
is present:- The result is a bar chart on the number of meetings in each of the previous
NUMBER_OF_MONTHS
- 1 months and the current month and year.
- The result is a bar chart on the number of meetings in each of the previous
Example:
Let’s say you want to compare the number of meetings you had for each of the past 5 months and the current month. Let’s assume that the current month and year is November 2020. You can do so as shown.
-
Type
meeting stats 6
and press Enter. -
A new window containing a bar chart will appear. The bar chart will contain the monthly meeting count for each the previous 5 months: June 2020, July 2020, August 2020, September 2020, October 2020, followed by the current month and year November 2020.
Additional Examples:
-
meeting stats
will return the number of meetings whose start date is in the October 2020 if the current month and year is October 2020. -
meeting stats m/8 y/2020
will return the number of meetings whose start date is in August 2020. -
meeting stats 3
will return a bar chart containing the number of meetings whose start date is within June 2020, July 2020 and August 2020 respectively if the current month and year is August 2020.
5.5. Reminders
StonksBook allows you to manage your reminders within the application.
5.5.1. Listing reminders: reminder list
[Sebastian Toh Shi Jian] [Wang Luo]
Shows a list of all reminders created, sorted in ascending order based on the date the reminder is scheduled.
Format: reminder list [st/STATUS]
Parameter | What it is | Requirements |
---|---|---|
STATUS |
Status of the reminders | Must be either completed or pending
|
Example:
Let’s say that you want to view all your completed reminders. Here’s how you can do so:
-
Type
reminder list st/completed
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, and the Reminder List will show a list of completed reminders.
5.5.2. Adding reminders: reminder add
[Sebastian Toh Shi Jian]
Adds a reminder scheduled on a particular date that is associated with the specified contact to StonksBook.
Format: reminder add c/CONTACT_INDEX m/MESSAGE d/DATETIME
Parameter | What it is | Requirements |
---|---|---|
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
MESSAGE |
Message associated with the reminder | Must contain only alphanumeric characters and should not be blank |
DATETIME |
Scheduled date and time of the reminder | Must be in the format yyyy-MM-dd HH:mm
|
Example:
Let’s say that you need to send a follow-up email to Bernice Yu on 30 November 2020, 3PM. Here’s how you can add a reminder into StonksBook:
- Type
contact find bernice
in the Command Box and press Enter.- This is to identify the contact index corresponding to Bernice Yu and can be skipped if you already know the index. Let us assume that Bernice Yu is at the first index.
-
The Result Box will display a message of the number of contacts listed.
-
Type
reminder add c/1 m/Send email to follow up d/2020-11-30 15:00
in the Command Box and press Enter. - The Result Box will display a message noting that the command was successful, and the Reminder List will
contain this newly created reminder.
- You may have to scroll through your Reminder List to find this newly created reminder since reminders are sorted in ascending order based on the date the reminder is scheduled.
5.5.3. Deleting a reminder: reminder delete
[Sebastian Toh Shi Jian]
Deletes the specified reminder from StonksBook.
Format: reminder delete INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed reminder list | Must be a positive integer 1, 2, 3, … |
Example:
Let’s say that a reminder in StonksBook is no longer applicable and you wish to delete it. Here’s you can delete a reminder from StonksBook:
- Type
reminder list
in the Command Box and press Enter.- This is to display all reminders in the Reminder List, which is necessary to identify the index of the reminder that is to be deleted. This step can be skipped if you already know the index. Let us assume that the reminder is at the third index.
-
Type
reminder delete 3
in the Command Box, and press Enter to execute it. -
The Result Box will display a message noting that the command was successful, and the reminder is deleted from the Reminder List.
5.5.4. Editing a reminder: reminder edit
[Sebastian Toh Shi Jian] [Wang Luo]
Edits an existing reminder in StonksBook.
Format: reminder edit INDEX [c/CONTACT_INDEX] [m/MESSAGE] [d/DATETIME] [st/STATUS]
Parameter | What it is | Requirements |
---|---|---|
INDEX |
Index number shown in the displayed reminder list | Must be a positive integer 1, 2, 3, … |
CONTACT_INDEX |
Index number shown in the displayed contact list | Must be a positive integer 1, 2, 3, … |
MESSAGE |
Message associated with the reminder | Must contain only alphanumeric characters and should not be blank |
DATETIME |
Scheduled date and time of the reminder | Must be in the format yyyy-MM-dd HH:mm
|
STATUS |
Status of the reminder | Must be either pending or completed
|
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Example:
Let’s say that Alex Yeoh would like to hear from you sooner for the follow up and you just sent the follow up email. Here are the steps to follow:
- Type
reminder list
in the Command Box and press Enter.- This is to display all your reminders in StonksBook, and the reminder for follow up email for Alex Yeoh is found at index 1.
-
Type
reminder edit 1 d/2020-10-30 16:30 st/completed
in the Command Box and press Enter. -
The Result Box will display a message noting that the command was successful, as well as the details of the updated reminder.
5.6. Archive
StonksBook allows you to archive contacts who are no longer active so that you can focus on contacts who can bring you the Stonks.
5.6.1. Adding a contact to the archive: archive add
[Leong Jin Ming]
Adds the specified contact to the archive.
StonksBook will not archive a contact if it is already archived! In addition, archiving a contact will not remove the sales, reminders and meetings linked to this contact.
Format: archive add INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX | Index number shown on the displayed contact list | Must be a positive integer 1, 2, 3, … |
- Adds the contact at the specified
INDEX
to the archive. - The sales, reminders and meetings linked to this contact will not be removed.
Example:
Suppose you want to archive your contact Alex Yeoh, who is no longer doing business with you. Simply follow the steps below:
-
Identify the index of the contact entry in the Contact List. Here Alex Yeoh is the first contact in the list. Alternatively you can use
contact find
to find the contact. -
Type
archive add 1
in the Command Box and press Enter. -
The contact entry will disappear from the contact list, and the Result Box will inform you that the command is successful.
5.6.2. Listing contacts in the archive: archive list
[Leong Jin Ming]
Shows the list of your archived contacts.
Format: archive list
- When entered, if the contact list is displayed it will be replaced with the archived contact list.
- You can edit and delete contacts in the archive using
contact edit
andcontact delete
when the archived contacts list is displayed.
Example:
To see all your archived contacts, type archive list
into the Command Box and press Enter. The Result Box will inform you that the command was successful, and the archived contacts list will appear.
5.6.3. Removing contacts from the archive: archive remove
[Leong Jin Ming]
Removes the specified contact from the archive. The specified contact will appear on your contact list again.
StonksBook will not remove a contact from the archive if it is not in the archive!
Format: archive remove INDEX
Parameter | What it is | Requirements |
---|---|---|
INDEX | Index number shown on the displayed contact list | Must be a positive integer 1, 2, 3, … |
- Removes the contact at the specified
INDEX
from the archive. - Does not delete the contact from StonksBook. To delete the contact use
contact delete
.
Example:
Let’s say your archived contact Alex Yeoh wants to start buying electronics from you again, and so you would like to bring his contact entry back to the contacts list. Simply follow the steps below:
-
Make sure you are on the archived contact list. If not, simply use the
archive list
command to get all your archived contacts. - Identify the index of your contact in the list. In this case, Alex is the first entry in your list.
-
Type
archive remove 1
in the Command Box and press Enter. -
The contact entry will disappear from your archive, and the Result Box will inform you that the command is successful.
5.7. Miscellaneous
5.7.1. Suggesting for error resolution [Aaron Seah]
Gives a suggestion of the most similar command (if exists) to an unknown user input.
This feature gives an approximate result for the most similar command.
Example:
Let’s say you want to execute the contact add
command but you mistyped the command as cont add
.
You will get a suggestion of contact add
as shown.
-
Type
cont add
in the Command Box and press Enter. -
A suggestion of
contact add
appears.
Examples:
-
contac add
will return a suggestion ofcontact add
-
contt ad
will return a suggestion ofcontact add
-
contacta
will return a suggestion ofcontact add
5.7.2. Navigating between previous inputs within the session [Leong Jin Ming]
Pressing the up and down keys retrieves the previous and next input respectively, if there is one.
5.7.3. Switching between light and dark themes: lightmode
/darkmode
[Leong Jin Ming]
Changes the theme of the GUI to light and dark theme respectively. The default theme for StonksBook is the dark theme.
Format: lightmode
/darkmode
Example: Let’s say you want to apply light theme to StonksBook so that you can see the interface better in the day. Simply follow the steps below:
-
Type
lightmode
in the Command Box and press Enter. -
Your StonksBook is now in light theme. The Result Box will inform you that the theme application is successful.
5.7.4. Viewing help: help
[Aaron Seah]
Lists the command word, command description and example usage for each available command as well as the link to the User Guide.
Format: help
Example:
Let’s say you want to recall some commands in StonksBook. You can do so by accessing the help page as shown.
-
Type
help
in the Command Box and press Enter. -
The help window pops up.
5.7.5. Clearing all past interactions: clear
[Leong Jin Ming]
Clears all past interactions with the StonksBook GUI within the session.
Format: clear
5.7.6. Removing all data: purge
[Leong Jin Ming]
Clears all data from StonksBook.
Format: purge
5.7.7. Exiting the program: exit
Exits the program.
Format: exit
6. FAQ
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 StonksBook home folder.
7. Command summary
This section provides a summary of all the commands available in StonksBook.
7.1. Contacts
Command | Summary | Example (if applicable) |
---|---|---|
contact add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…[r/REMARK] |
Adds a contact with the specified information | contact add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 |
contact delete INDEX |
Deletes the specified contact | contact delete 3 |
contact edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…[r/REMARK] |
Edits an existing contact | contact edit 1 p/91234567 e/johndoe@example.com |
contact list |
Lists all contacts | contact list |
contact find KEYWORD [MORE_KEYWORDS]... |
Finds contacts with names matching the given keywords | contact find alx yo |
contact sort KEYWORD [ORDER] |
Sorts contacts based on the parameter specified | contact sort n/ desc |
7.2. Tags
Command | Summary | Example (if applicable) |
---|---|---|
tag add (ct/ or st/)TAG |
Adds a tag | tag add ct/important |
tag delete (ct/ or st/)INDEX |
Deletes the specified contact or sales tag | tag delete ct/1 |
tag edit (ct/ or st/)INDEX t/TAG |
Edits an existing tag to the specified new tag name | tag edit st/1 t/fruits |
tag find (ct/ or st/)INDEX [cl/] |
Displays all entries related to the specified tag | tag find st/1 cl/ |
tag list |
Lists all tags | - |
7.3. Sales
Command | Summary | Example (if applicable) |
---|---|---|
sale add c/CONTACT_INDEX… n/ITEM_NAME d/DATETIME_OF_PURCHASE p/UNIT_PRICE q/QUANTITY t/TAG… |
Adds a sale to the specified contact | sale add c/1 n/Guitar Tuner d/2020-10-30 15:00 p/10.00 q/100 t/music |
sale delete s/SALE_INDEX… |
Deletes the specified sale | sale delete s/3 |
sale edit s/SALE_INDEX… [c/CONTACT_INDEX] [n/ITEM_NAME] [d/DATETIME_OF_PURCHASE] [p/UNIT_PRICE] [q/QUANTITY] [t/TAG]… |
Edits an existing sale | sale edit s/2 n/B5 Notebook p/4.00 q/10 |
sale list [c/CONTACT_INDEX] [m/MONTH y/YEAR] |
Lists sale based on provided parameters | sale list c/1 |
sale breakdown |
Displays the number of sales belonging to the top 5 tags | sale breakdown |
sale stats NUMBER_OF_MONTHS |
Displays monthly sale count | sale stats 6 |
7.4. Meetings
Command | Summary | Example (if applicable) |
---|---|---|
meeting add c/CONTACT_INDEX m/MESSAGE d/START_DATETIME du/DURATION |
Adds a meeting with the specified contact | meeting add c/2 m/Product Demo d/2020-10-30 15:00 du/60 |
meeting delete INDEX |
Deletes the specified meeting | meeting delete 3 |
meeting edit INDEX [c/CONTACT_INDEX] [m/MESSAGE] [d/START_DATETIME] [du/DURATION] |
Edits an existing meeting | meeting edit 3 d/2020-12-15 12:00 |
meeting list [c/CONTACT_INDEX] [a/] |
Lists meetings based on provided parameters | meeting list c/1 a/ |
meeting stats [NUMBER_OF_MONTHS] [m/MONTH y/YEAR] |
Displays monthly meeting count | meeting stats 3 |
7.5. Reminders
Command | Summary | Example (if applicable) |
---|---|---|
reminder add c/CONTACT_INDEX m/MESSAGE d/DATETIME |
Adds a reminder with the specified contact | reminder add c/2 m/Send email to follow up d/2020-10-30 15:00 |
reminder delete INDEX |
Deletes the specified reminder | reminder delete 4 |
reminder edit INDEX [c/CONTACT_INDEX] [m/MESSAGE] [d/DATETIME] [st/STATUS] |
Edits an existing reminder | reminder edit 1 d/2020-10-30 16:30 st/completed |
reminder list [st/STATUS] |
Lists reminders based on provided parameters | reminder list st/completed |
7.6. Archive
Command | Summary | Example (if applicable) |
---|---|---|
archive add INDEX |
Sends a contact to the archive | archive add 1 |
archive list |
Lists all archived contacts | - |
archive remove INDEX |
Removes a contact from the archive | archive remove 2 |
7.7. Miscellaneous
Command | Summary | Example (if applicable) |
---|---|---|
clear |
Clears chat bot history | - |
darkmode |
Changes the theme of the GUI to dark theme | - |
exit |
Exits program | - |
help |
Shows program usage instructions | - |
lightmode |
Changes the theme of the GUI to light theme | - |
purge |
Clears all data | - |