User Guide
Overview
Introducing Trackr - the ultimate desktop application designed to simplify the delivery management process for your home business!
With Trackr, you can seamlessly manage your suppliers, orders and tasks.
It utilizes a Command Line Interface (CLI), while still enjoying the benefits of a user-friendly Graphical User Interface (GUI).
Say goodbye to the hassle of Excel and the stress of time constraints! Whether you’re a busy home business owner or simply looking for an efficient and streamlined solution, Trackr is the perfect fit for you. Experience the convenience of delivery management like never before with Trackr.
About This Guide
This guide shows you the relevant information for setting up and using Trackr to manage your suppliers, orders and tasks.
You can click on any of the links below to navigate to the respective sections for more information.
Table of Contents
- 1 Quick start
- 2 Commands
- 3 Data
- 4 Upcoming features
[coming soon]
- 5 FAQ
- 6 Summary
- 6.1 Prefix Summary
1 Quick start
1.1 Prerequisites
1.1.1 Java
Ensure you have Java 11
or above installed.
Java is the language that your computer uses to understand Trackr.
Tip
How to check your current Java version:
Step 1. Open up Command Prompt (Windows) or Terminal (Mac and Linux).
Step 2. Type and run the command java -version
.
Step 3. Check the version number provided (xxx
) is at least 11
.
An example is shown below.
> java -version
java version "xxx" <Other information>
1.1.2 Glossary
- Mainstream OS: Windows, Linux, Mac
- CLI: Command-Line Interface
- GUI: Graphical User Interface
- Supplier: Supplier refers to someone whom the user seasonally or frequently orders goods from
- Customer: Customer refers to someone whom the user receives an order from
- Order: Order refers to the customers’ orders the user accepts
- Task: Task refers to any to-dos the user may have, it need not be related to suppliers or orders (For instance, it can be about tidying inventory)
- Menu Item: Menu Item refers to any inventory/ stock that the user is selling to customers.
- Tag: Tags are associated with suppliers, users can tag the supplier with any keyword they want, number of tags are not restricted
- Status: Statuses are associated with tasks and orders, one entry of task/order can only have one status and the type of status that can be added is restricted
1.2 Installation
Step 1. Download the latest trackr.jar
file from here.
Step 2. Copy the file to the folder where you will use Trackr.
Step 3. Double-click on the trackr.jar
file.
Tip
Trackr does not open?
Step 1. Open a command terminal.
Step 2. Type in java -jar
(Keep in mind of the space at the end).
Step 3. Drag and drop trackr.jar
into the command terminal.
Step 4. Press enter and execute the command.
An example of the final command is displayed below.
> java -jar xxxx/xxxx/trackr.jar
A GUI similar to the below should appear in a few seconds.
Figure 1.2.1: Home Tab UI
The UI has the following areas:
- Tabs
- Sales (Total Revenue and Profit)
- Simplified Orders
- Simplified Tasks
- Simplified Menu
- Command Result Screen
- Command Input Box
- Data List
For more information on how to navigate the User Interface (UI), you can go here
Figure 1.2.2: Labeled Home Tab UI
Figure 1.2.3: Labeled Data Tab UI
Warning
When you open the application for the first time on your device, Trackr
will create a data
folder with trackr.json
data file inside.
If you are a new user, do not edit this file.
Otherwise, you can check out how to edit it here
1.3 Utilisation
Step 1: Enter your command into the Command Input Box.
You can try the following commands to add a task:
tab t/TASKS
add_task n/Buy eggs d/12/12/2040
Step 2: Observe the changes made to the Task list. Look at the message displayed inside the Command Result Screen to see the results of your command.
Tip
You can find out all the usable commands here or return to the Table of Contents to find your desired command.
1.4 Navigating the User Interface
Here, we will explain how you can navigate around our application.
Command Input Box
You can input your commands into the command input box, press Enter to execute your commands. A result message would be shown at the Command Result Screen.
If there is an error with the command, the input would turn red and you can refer to the Command Result Screen for help.
Command Result Screen
Command result screen shows the success message for your command that executed successfully.
Otherwise, it would show an error message with hints on what was missing / invalid in the command that you have entered. Refer to the error message or look back at this User Guide for more information on how to correct your command input.
Tabs
We provide multiple tabs for you to use. This includes the home page, with the data tabs that display your data for the respective information (i.e. Order, Tasks, Contacts, Menu).
You can navigate between them by clicking on the tab itself, or input the command tab t/
followed with the respective tab name.
For more information about the tab
command, you can go here.
1.4.1 Home Page
Upon starting the application, you will see a convenient dashboard with summarised information that you need for your business.
Sales (Total Revenue and Profit)
Trackr keeps track of all orders submitted and automatically updates the total revenue and profit that your business has generated with us.
Simplified Orders
Order list shows a condensed preview of your outstanding orders, with their relevant details (i.e. customer name, promised delivery date and your progress).
Simplified Tasks
Task list shows all outstanding miscellaneous tasks that you may have for your current operations.
Simplified Menu
Menu list shows all the items that you have up for sale currently, with their details (cost price, selling price and profit margin) at a glance.
1.4.2 Data Tab
Data List
Data list contains all of your respective data labelled out in full. The layout of the respective data information can be seen below:
- Orders
Orders
contains order information, with their data represented by their respective cards.
Order Card consists of the following components:
- Index of the order
- Name of the order item (which should correspond to its respective Menu item name)
- Quantity of order item
- Deadline for delivery of the order
- Status of the order item
- Customer name
- Customer phone number
- Customer address
Figure 1.4.2.1: Labeled Order Card
- Tasks
Tasks
contains task information, with their data represented by their respective cards.
Task Card consists of the following components:
- Index of the task
- Name of the task
- Deadline of the task
- Status of the task
Figure 1.4.2.2: Labeled Task Card
- Contacts
Contacts
contains supplier information, with their data represented by their respective cards.
Supplier Contact Card consists of the following components:
- Index of the supplier
- Name of the supplier
- Tags related to the supplier
- Phone number of the supplier
- Address of the supplier
- Email of the supplier
Figure 1.4.2.3: Labeled Supplier Card
- Menu
Menu
contains menu items, with their data represented by their respective cards.
Menu Item Card consists of the following components:
- Index of the menu item
- Menu item name
- Selling price of the menu item
- Cost of making the menu item
- Profit from selling the menu item (Profit = Selling Price - Cost)
Figure 1.4.2.4: Labeled Menu Card
2 Commands
Notes about the command format:
-
All command keywords must be in lower-case and are case-sensitive.
e.g. For add supplier command:
add_supplier
is valid.
ADD_SUPPLIER
andAdd_Supplier
are invalid. -
Prefixes of the parameters must be in lower-case and are case-sensitive.
e.g.n/
inadd_s n/NAME
is case-sensitive
n/
is a valid prefix.
N/
is an invalid prefix. -
Words in
UPPER_CASE
are the parameters to be supplied by you.
e.g. inadd_supplier n/NAME
, you fill in theNAME
parameter with the supplier name (i.e.add_supplier n/John Doe
). -
Items in square brackets are optional.
e.g.n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used any number of times within the command.
e.g.[t/TAG]…
can be used ast/flour
,t/flour t/sugar
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. -
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Tip
- General format of commands:
<command> <index> <prefix/paramater> <prefix/paramater> ...- Index depends on the command.
- Number of parameters depend on the command.
- All command keywords have shortcut alternatives. They are the command type and the first letter of the information type.
For example:
-
add_s
is the same asadd_supplier
-
edit_o
is the same asedit_order
-
list_t
is the same aslist_task
-
- You can find out the constraints for the parameters with their corresponding prefix here.
2.0 Checking for duplicates
Duplicate data are not allowed. Hence, adding of duplicate data or editing of an existing data such that it matches with another existing data in the data list will not be successful. Here’s how we check for duplicates:
Any two | are considered to be duplicates if |
---|---|
Suppliers | they have the same phone numbers |
Orders | all the parameters (excluding STATUS ) are the same (with matching cases). |
Tasks | they have the same task names (with matching cases) and deadlines. |
Menu items | they have the same item names (with matching cases). |
2.1 Add
Adding of an information to the specific list. Below are the specific add commands for supplier, order, task and menu item.
Note
Adding of duplicate data is not allowed. Refer to this table to see how duplicates are checked for.
2.1.1 Adding a supplier: add_supplier
Adds a supplier to the list of suppliers.
Syntax: add_supplier n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
Example 1: Standard command without tags
-
add_supplier n/John Doe p/98765432 e/johnd@example.com a/John Street
Adds a supplier with the following details:- Supplier Name:
John Doe
- Phone Number:
98765432
- Email:
johnd@example.com
- Address:
John Street
- Tags: Empty
- Supplier Name:
Example 2: Shortcut command with tags
-
add_s n/Betsy Cow t/diary e/betsycow@example.com a/Betsy Street p/12345678 t/meat
Adds a supplier with the following details:- Supplier Name:
Betsy Cow
- Phone Number:
12345678
- Email:
betsycow@example.com
- Address:
Betsy Street
- Tags:
Diary
,Meat
- Supplier Name:
2.1.2 Adding an order: add_order
Adds an order into the list of orders.
Syntax: add_order on/ORDER_ITEM q/QUANTITY d/DEADLINE n/CUSTOMER_NAME a/CUSTOMER_ADDRESS p/CUSTOMER_PHONE_NUMBER [s/STATUS]
Information
- Statuses available for setting are
-
N
orn
forNot Delivered
-
I
ori
forIn Progress
-
D
ord
forDelivered
-
-
If no status is provided, it is defaulted to
Not Delivered
. - All
ORDER_ITEM
must match (case-sensitive) a menu item in the menu. (e.g.choclate
andChocolate
are considered different items).
i.e. IfORDER_ITEM
does not match any of the existing menu items, you need to add it as a menu item first.
You can find out how to add a menu item here
Example 1: Standard command without status
-
add_order on/Cupcake q/5 d/01/12/2024 n/John Cat p/91234567 a/John Street
Adds an order with the following details:- Order Item:
Cupcake
- Quantity:
5
- Deadline:
01/12/2024
- Name:
John Cat
- Phone Number:
91234567
- Address:
John Street
- Status:
Not Delivered
(Default)
- Order Item:
Example 2: Shortcut command with status
-
add_o on/Chocolate Cookies q/10 d/02/10/2024 n/Dolly Sheep p/91827364 a/Dolly Street s/I
Adds a supplier with the following details:- Order Item:
Chocolate Cookies
- Quantity:
10
- Deadline:
02/10/2024
- Name:
Dolly Sheep
- Phone Number:
91827364
- Address:
Dolly Street
- Status:
In Progress
- Order Item:
2.1.3 Adding a task: add_task
Adds a task to the list of tasks.
Syntax: add_task n/TASK_NAME d/DEADLINE [s/STATUS]
Information
- Statuses available for setting are
-
N
orn
forNot Done
-
D
ord
forDone
-
- If no status is provided, it is defaulted to
Not Done
.
Example 1: Standard command without status
-
add_task n/Buy cookie cutter d/22/12/2024
Adds a task with the following details:- Task Name:
Buy cookie cutter
- Deadline:
22/12/2024
- Status:
Not Done
(Default)
- Task Name:
Example 2: Shortcut command with status
-
add_t n/Buy a card d/23/12/2024 s/D
Adds a task with the following details:- Task Name:
Buy a card
- Deadline:
23/12/2024
- Status:
Done
- Task Name:
2.1.4 Adding a menu item: add_item
Adds a menu item to the menu.
Syntax: add_item n/ITEM_NAME pr/PRICE c/COST
Information
- When entering price and cost values, you may choose to
- input positive integer numbers
- input positive decimal numbers (up to 2 decimal point). For example:
5.1
or5.03
5.034
- The item can have a positive or negative profit (Profit = Price - Cost). Specifically:
- Negative profit margin means you are making a loss
- Positive profit margin means you are making a profit
- Note that profit calculated is only accurate when price and cost each have at most 16 digits.
- For example: 9283212222332323 and 92832122223323.55 are both 16 digits.
- You cannot add an item if there is another item that has the same name in the menu. The item name is case-sensitive.
- For example, chocolate and Chocolate are considered as different item.
Example 1: Standard command with integer values
-
add_item n/Chocolate cake pr/5 c/2
Adds an order item with the following details:- Item Name:
Chocolate cake
- Price:
5
- Cost:
2
- Item Name:
Example 2: Shortcut command with decimal values
-
add_i n/Limited Time Strawberry Cake pr/20.55 c/25.2
Adds an order item with the following details:- Item Name:
Limited Time Strawberry Cake
- Price:
20.55
- Cost:
25.2
- Item Name:
2.2 Edit
Editing of an information in a specific list. Below are the specific edit commands for supplier, order, task and menu item.
Information
- Edits the information at the specified
INDEX
. - The
INDEX
must be a positive integer 1, 2, 3, … - All existing values will be replaced with the new values given.
- At least one of the fields (e.g.
n/NAME
) must be specified. - Editing of a data such that it matches with another existing data is not allowed. Check this table to see how duplicates are checked for.
Editing of information is one-way (i.e. You cannot revert your command).
We are working to have an undo feature in the future. Sorry for the inconvenience caused.
2.2.1 Editing a supplier: edit_supplier
Edits an existing supplier’s information.
Syntax: edit_supplier INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
Information
- When editing tags:
- All existing tags will be replaced with the given tag (editing of tags is not accumulative).
- Typing
t/
removes all the existing tags.
Example 1: Standard command removing tags
-
edit_supplier 1 n/Johnny p/90138482 t/
Edits the first supplier information (shown on screen) with the following details:- Supplier Name:
Johnny
- Phone Number:
90138482
- Tags: Empty
- Supplier Name:
Example 2: Shortcut command replacing tags
-
edit_s 3 t/flour e/mark@example.com
Edits the third supplier information (shown on screen) with the following details:- Email:
mark@example.com
- Tags:
Supplies Flour
- Email:
2.2.2 Editing an order: edit_order
Edits an existing order’s information.
Syntax: edit_order INDEX [on/ORDER_ITEM] [q/QUANTITY] [d/DEADLINE] [n/CUSTOMER_NAME] [a/CUSTOMER_ADDRESS] [p/CUSTOMER_PHONE_NUMBER] [s/STATUS]
Information
-
If a menu item is no longer your menu (i.e. you have deleted the menu item), the order details cannot be edited.
- Statuses available for setting are
-
N
orn
forNot Delivered
-
I
ori
forIn Progress
-
D
ord
forDelivered
-
- When editing the order name, the input for order name is case-sensitive.
- For example, if menu item you want edit order name to “chocolate”, you should input
edit_o 1 on/chocolate
and notedit_o 1 on/ChOcolAte
- For example, if menu item you want edit order name to “chocolate”, you should input
Example 1: Standard command
-
edit_order 1 p/91234567 d/05/05/2024
Edits the first order information (shown on screen) with the following details:- Customer Phone Number:
91234567
- Deadline:
05/05/2024
- Customer Phone Number:
Example 2: Shortcut command updating status
-
edit_o 3 q/20 s/I
Edits the third order information (shown on screen) with the following details:- Quantity:
3
- Status:
In Progress
- Quantity:
2.2.3 Editing a task: edit_task
Edits an existing task’s information.
Syntax: edit_task INDEX [n/TASK_NAME] [d/DEADLINE] [s/STATUS]
Information
- Statuses available for setting are
-
N
orn
forNot Done
-
D
ord
forDone
-
Example 1: Standard command
-
edit_task 1 n/Get creamer
Edits the first task information (shown on screen) with the following details:- Task Name:
Get creamer
- Task Name:
Example 2: Shortcut command updating status
-
edit_t 3 d/31/12/2024 s/N
Edits the third task information (shown on screen) with the following details:- Deadline:
31/12/2024
- Status:
Not Done
- Deadline:
2.2.4 Editing a menu item: edit_item
Edits an existing menu item’s information.
Syntax: edit_item INDEX [n/ITEM_NAME] [pr/PRICE] [c/COST]
Information
- Editing a menu item does not invalidate or update the orders with the same order item name.
-
Editing a menu item does not update and change the total revenue and profits on the home tab.
- When entering price and cost values, you may choose to
- input positive integer numbers
- input positive decimal numbers (up to 2 decimal point). For example:
5.1
or5.03
5.034
- The item can have a positive or negative profit margin (Profit Margin = Price - Cost). Specifically:
- Negative profit margin means you are making a loss
- Positive profit margin means you are making a profit
- Note that profit calculated is only accurate when price and cost each have at most 16 digits.
- For example: 9283212222332323 and 92832122223323.55 are both 16 digits.
Example 1: Standard command with integer values
-
edit_item 1 n/Coffee pr/2 c/1
Edits the first menu item information with the following details:- Item Name:
Coffee
- Price:
2
- Cost:
1
- Item Name:
Example 2: Shortcut command with decimal values
-
edit_i 3 d/Signature burger pr/8.5 c/2.25
Edits the third menu item information with the following details:- Item Name:
Signature burger
- Price:
8.5
- Cost:
2.25
- Item Name:
2.3 Find
Finding of specific information with the provided parameters. Below are the specific find commands for supplier, order, task and menu item.
2.3.1 Finding a supplier: find_supplier
Finds suppliers whose information matches with any of the given parameters.
Syntax: find_supplier NAME
Information
- Search is case-insensitive (e.g.
mark
will match withMark
). - Order of the keywords does not matter (e.g.
Mark Lee
will match withLee Mark
). - Only full words will match (e.g.
Mar
will not match withMark
). - Suppliers matching with at least one keyword will be returned (i.e.
OR
search).
(e.g.Mark Lee
will returnMark Tan
,Lee Chan
)
Example 1: Standard command
-
find_supplier Prima Flour
Finds the supplier with the following details:- Supplier Name contains either
Prima
orFlour
.
Example of suppliers that match:
Prima
Soon Flour Pte Ltd
PRIMA CONFECTIONARY
Example of suppliers that do not match:
Prim
PrimaFlour
- Supplier Name contains either
Example 2: Shortcut command
-
find_s Pte
Finds the supplier with the following details:- Supplier Name contains
Pte
.
Example of suppliers that match:
Soon Flour Pte Ltd
Tech Leong PTE LTD
Example of suppliers that do not match:
Private
Phoon Huat PteLtd
- Supplier Name contains
2.3.2 Finding an order: find_order
Find orders whose information matches with any of the given parameters.
Syntax: find_order [on/ORDER_ITEM] [q/QUANTITY] [d/DEADLINE] [n/CUSTOMER_NAME] [a/CUSTOMER_ADDRESS] [p/CUSTOMER_PHONE_NUMBER] [s/STATUS]
Information
-
At least one of the optional fields must be keyed in.
- For
ORDER_ITEM
andCUSTOMER_NAME
:- Search is case-insensitive (e.g.
cookie
will match withCookie
). - Order of the keywords does not matter (e.g.
Chocolate Cookie
will match withCookie Chocolate
). - Only full words will match (e.g.
Chocolate
will not match withChoco
). - Orders matching with at least one keyword will be returned (i.e.
OR
search).
(e.g.Chocolate Cake
will returnChocolate Cookie
,Strawberry Cake
).
- Search is case-insensitive (e.g.
- For
STATUS
:- Search is case-insensitive.
- Search
-
D
ord
forDelivered
-
I
ori
forIn Progress
-
N
orn
forNot delivered
. - e.g.
find_o s/D
will return orders marked asDelivered
.
-
- For
CUSTOMER_ADDRESS
:- Search is case-sensitive.
(e.g. The search for orders with customer address
smith
will match withsmith
but not withSmith
). - Order of the keywords matter (e.g.
Amy Lee
will not match withLee Amy
). - Only full words will match.
- Order’s respective parameter must fully match with the given parameter.
(e.g.Amy Lee
will only match withAmy Lee
and not withAmy Lee Tan
).
- Search is case-sensitive.
(e.g. The search for orders with customer address
Example 1: Standard command with single fields
-
find_order on/Chocolate Cake
Finds the order with the following details:- Order Item contains
Chocolate
orCake
Example of orders that match:
Chocolate Cookie
Chocolate Cake
CAKE WITH VANILLA
Example of orders that do not match:
Choco
ChocolatePie
- Order Item contains
Example 2: Shortcut command with multiple fields
-
find_o on/Cake d/01/01/2023
Finds the order with the following details:- Supplier Name contains
Cake
- Deadline is on
01/01/2023
Example of orders that match:
on/Chocolate Cake d/01/01/2023
on/CAKE WITH VANILLA AND CHOCOLATE d/01/01/2023
Example of orders that do not match:
on/Chocolate Cake d/03/03/2024
on/VANILLA CAKES d/01/01/2023
- Supplier Name contains
2.3.3 Finding a task: find_task
Finds tasks with information that matches with any of the given parameters.
Syntax: find_task [n/TASK_NAME] [d/DEADLINE] [s/STATUS]
Information
-
At least one of the optional fields must be keyed in.
- For
TASK_NAME
:- Search is case-insensitive (e.g.
sugar
will match withSugar
). - Order of the keywords does not matter (e.g.
Flour Sugar
will match withSugar Flour
). - Only full words will match (e.g.
Sugar
will not match withSugars
). - Tasks matching with at least one keyword will be returned (i.e.
OR
search).
(e.g.Order Flour
will returnOrder Sugar
,Order 10kg Flour
).
- Search is case-insensitive (e.g.
- For
STATUS
:- Search is case-insensitive.
- Search
-
D
ord
forDone
-
N
orn
forNot delivered
. - e.g.
find_o s/D
will return tasks marked asDone
.
-
Example 1: Standard command with single fields
-
find_task s/N
Finds all task that areNot Done
.
Example 2: Shortcut command with multiple fields
-
find_t n/Buy eggs d/17/02/2023
Finds the order with the following details:- Task Name contains
Buy eggs
. - Deadline is on
17/02/2023
Example of tasks that match:
n/Buy eggs d/17/02/2023
n/Buy flour d/17/02/2023
Example of tasks that do not match:
n/Make eggcream d/17/02/2023
n/Buy flour d/30/03/2024
- Task Name contains
2.3.4 Finding a menu item: find_item
Find tasks with information that matches with any of the given parameters.
Syntax: find_item ITEM_NAME
Information
- Search is case-insensitive (e.g.
cookie
will match withCookie
). - Order of the keywords does not matter (e.g.
Chocolate Cookie
will match withCookie Chocolate
). - Only full words will match (e.g.
Chocolate
will not match withChoco
). - Menu items matching with at least one keyword will be returned (i.e.
OR
search).
(e.g.Chocolate Cake
will returnChocolate Cookie
,Strawberry Cake
)
Example 1: Standard command
-
find_item vanilla cupcake
Finds the menu item with the following details:- Item Name contains either
vanilla
orcake
.
Example of order items that match:
Strawberry cupcake
CAKE WITH VANILLA
Example of order item that do not match:
chocolate cake
- Item Name contains either
Example 2: Shortcut command
-
find_i Cake
Finds the menu item with the following details:- Item Name contains
Cake
.
Example of order items that match:
Strawberry Cake
CAKE WITH VANILLA
Example of order item that do not match:
Vanilla Cupcake
- Item Name contains
2.4 Delete
Deleting of an information to the specific list. Below are the specific delete commands for supplier, order, task and menu item.
Information
- Deletes the information at the specified
INDEX
. - The
INDEX
must be a positive integer 1, 2, 3, … - All values at the
INDEX
will be deleted.
Deleting of information is one-way (i.e. You cannot revert your command).
We are working to have an undo feature in the future. Sorry for the inconvenience caused.
2.4.1 Deleting a supplier: delete_supplier
Deletes the specified supplier from the contact list.
Syntax: delete_supplier INDEX
Example 1: Standard command
-
delete_supplier 2
Deletes the second supplier from the visible contact list
Example 2: Shortcut command after using find_supplier
-
find_supplier John
followed bydelete_s 1
-
find_supplier John
lists all suppliers with names that containJohn
-
delete_s 1
deletes the first supplier with a name that containsJohn
from the visible contact list
-
2.4.2 Deleting an order: delete_order
Deletes the specified order from the order list.
Syntax: delete_order INDEX
Example 1: Standard command
-
delete_order 2
Deletes the second order from the visible order list
Example 2: Shortcut command after using find_order
-
find_order on/Cake
followed bydelete_o 1
-
find_order on/Cake
lists all orders with item names that containCake
-
delete_o 1
deletes the first order with an item name that containsCake
from the visible order list
-
2.4.3 Deleting a task: delete_task
Deletes the specified task from the task list.
Syntax: delete_task INDEX
Example 1: Standard command
-
delete_task 2
Deletes the second task from the visible task list
Example 2: Shortcut command after using find_task
-
find_task n/flour
followed bydelete_t 1
-
find_task n/flour
lists all tasks with task names that containflour
-
delete_t 1
deletes the first task with a task name that containsflour
from the visible task list
-
2.4.4 Deleting a menu item: delete_item
Deletes the specified menu item from the menu.
Syntax: delete_item INDEX
Information
Deleting a menu item does not invalidate the orders with the same order item name.
Example 1: Standard command
-
delete_menu 2
Deletes the second menu item from the visible menu
Example 2: Shortcut command after using find_item
-
find_item cupcake
followed bydelete_m 1
-
find_item cupcake
lists all menu items with item names containingcupcake
-
delete_m 1
deletes the first menu item with an item name that containscupcake
from the visible menu
-
2.5 Sort
Sorting of information in the specific list. Below are the specific sort commands for task and order.
Information
- Sorts all the data in the specific list according to a criteria.
- Criteria is case-insensitive (i.e.
time_added
,TIME_ADDED
Time_Added
are all valid). -
The default criteria (when no criteria is specified) is
Status_and_deadline
. - Criteria available are:
-
Time_added
- Sorts data in ascending order.
- Data added first is at the top while data added the latest is at the bottom.
-
Deadline
- Sorts data in ascending order.
- Data with the earliest deadline is at the top while those with the latest deadline is at the bottom.
-
Status
- Refer to the specific command explanation below.
-
Name
- Sorts data in lexicographical order (ignoring case) with respect to the name.
- Data with name starting with “a” will be placed above a data with name starting with “B”.
-
Status_and_deadline
(Default)- Sorts all data by their status first, followed by their deadline (while preserving the relative ordering from the first sort, i.e. Stable sort)
-
2.5.1 Sorting a task: sort_task
Sorts tasks according to the criteria specified.
Syntax: sort_task [c/CRITERIA]
Information
-
Status
- Sorted in this order from top to bottom:Not Done
-
Done
-
Status_and_deadline
- Sorts all data by their status first, followed by their deadline
Specifically in this order from top to bottom:-
Not Done
&Earliest Deadline
-
Not Done
&Latest Deadline
-
Done
&Earliest Deadline
-
Done
&Latest Deadline
-
Example 1: Standard command with default parameters
-
sort_task
Sorts all tasks according to theirStatus_and_deadline
Example 2: Shortcut command with parameters
-
sort_t c/deadline
Sorts all tasks according to theirdeadline
Example 3: Shortcut command after using find_task
-
find_task s/N
followed bysort_t c/Deadline
-
find_task s/N
first lists all tasks with status asNot Done
-
sort_t c/deadline
sorts allNot Done
tasks found according to theirDeadline
-
2.5.2 Sorting a order: sort_order
Sorts orders according to the criteria specified.
Syntax: sort_order [c/CRITERIA]
Information
-
Status
- Sorted in this order from top to bottom:Not Delivered
In Progress
-
Delivered
-
Status_and_deadline
- Sorts all data by their status first, followed by their deadline
Specifically in this order from top to bottom:-
Not Delivered
&Earliest Deadline
-
Not Delivered
&Latest Deadline
-
In Progress
&Earliest Deadline
-
In Progress
&Latest Deadline
-
Delivered
&Earliest Deadline
-
Delivered
&Latest Deadline
-
Example 1: Standard command with default parameters
-
sort_order
Sorts all orders according to theirStatus_and_deadline
Example 2: Shortcut command with parameters
-
sort_o c/Status
Sorts all orders according to theirStatus
Example 3: Shortcut command after using find_order
-
find_order s/N
followed bysort_o c/Name
-
find_order s/N
lists all orders with status asNot Delievered
-
sort_o c/Name
sorts allNot Delivered
orders found according to theirName
-
2.6 List
Shows all data in the specific list. Below are the specific list commands for suppliers, order, tasks and menu.
2.6.1 Listing all suppliers: list_supplier
Shows a list of all suppliers in the contact list.
Syntax: list_supplier
Example 1: Standard command
-
list_supplier
Shows all suppliers.
Example 2: Shortcut command with parameters
-
list_s n/John
Shows all suppliers.
2.6.2 Listing all orders: list_order
Shows a list of all orders in the order list.
Syntax: list_order
Example 1: Standard command
-
list_order
Shows all orders.
Example 2: Shortcut command with parameters
-
list_o on/Straberry
Shows all orders.
2.6.3 Listing all tasks: list_task
Shows a list of all tasks in the task list.
Syntax: list_task
Example 1: Standard command
-
list_task
Shows all tasks.
Example 2: Shortcut command with parameters
-
list_t s/N
Shows all tasks.
2.6.4 Listing all menu items: list_menu
Shows a list of all menu items in the menu.
Syntax: list_menu
Example 1: Standard command
-
list_menu
Shows all menu items.
Example 2: Shortcut command with parameters
-
list_m price
Shows all menu items.
2.7 Clear
Clears all data in the specific list. Below are the specific clear commands for suppliers, order, tasks and menu.
Clearing of data is one-way (i.e. You cannot revert your command).
We are working to have an undo feature in the future. Sorry for the inconvenience caused.
2.7.1 Clear all supplier entries: clear_supplier
Clears all supplier entries from the contact list.
Syntax: clear_supplier
Example 1: Standard command
-
clear_supplier
Clears all supplier data from contact list.
Example 2: Shortcut command with parameters
-
clear_s n/Name
Clears all supplier data from contact list.
2.7.2 Clear all order entries: clear_order
Clears all order entries from the order list.
Syntax: clear_order
Example 1: Standard command
-
clear_order
Clears all order data from order list.
Example 2: Shortcut command with parameters
-
clear_o on/Chocolate
Clears all order data from order list.
2.7.3 Clear all task entries: clear_task
Clears all task entries from the task list.
Syntax: clear_task
Example 1: Standard command
-
clear_task
Clears all task data from task list.
Example 2: Shortcut command with parameters
-
clear_t s/N
Clears all task data from task list.
2.7.4 Clear all menu item entries: clear_menu
Clears all menu item entries from the menu.
Syntax: clear_menu
Information
Clearing all menu items does not invalidate the orders.
Example 1: Standard command
-
clear_menu
Clears all menu item data from menu.
Example 2: Shortcut command with parameters
-
clear_m price
Clears all menu item data from menu.
2.8 Switch
Allows for you to switch to the tab for view your respective information. You can use the GUI to navigate it as shown here or use the command shown here.
2.8.1 Switching tabs: tab
Switch to another tab.
Syntax: tab t/TAB
Information
-
TAB
needs to be in all-caps and is case-sensitive - The available tabs are
HOME
,ORDERS
,CONTACTS
,MENU
,TASKS
Example 1: Standard command
-
tab t/HOME
Navigates you to the home tab
2.9 Others
Here are other functionalities and commands that are available for you to utilise.
2.9.1 Viewing help: help
Shows a message with a link to the help page (this page).
Figure 2.9.1.1: Help Command Message
Syntax: help
2.9.2 Uploading a csv file
Uploading of a valid csv file into Trackr allows Trackr to parse the data to Task
, Order
, Supplier
and Menu Items
and adds them to their respective lists.
It is important to strictly follow the format specified below for your data to parse successfully.
Information
Step 1: Start each row with the type of item you want to add (i.e. Orders
)
Step 2: List out on the next row all the respective item fields (i.e. OrderName
, Quantity
, …)
Step 3: Fill in the next few rows will all the corresponding data, without leaving any fields empty (i.e. Chocolate Cookies
, 10
, …)
Note: For any optional fields, you can indicate it with a -
to have it be taken as its default value.
Figure 2.9.2.1: Example of a valid csv file
2.9.3 Exiting the program: exit
Exits the program.
Syntax: exit
3 Data
This section will inform you how the data is saved.
3.1 Saving of data
All data are saved after any command is executed successfully. There is no need for you to manually save.
3.2 Editing the data file
Trackr data are saved as a JSON file at [JAR file location]/data/trackr.json
.
Advanced users are welcome to update data directly by editing that data file.
It is advised to make your changes through our application and not through editing the data file directly. Trackr does not have backup data if your edit corrupts the data. Please proceed with caution.
If your changes to the data file are invalid, Trackr will discard all data and start with an empty data file at the next run.
Here is the layout of the data file:
{
"suppliers": [],
"tasks": [],
"menuItems": [],
"orders": []
}
Here are the respective formats for each of the data types:
- Supplier
{ "name" : "Prima Flour", "phone" : "87438807", "email" : "sales.primaflour@prima.com.sg", "address" : "Blk 30 Geylang Street 29, #06-40", "tagged" : [ "flour" ] }
- Task
{ "taskName" : "Buy flour", "taskDeadline" : "01/01/2024", "taskStatus" : "N", "timeAdded" : "2023-04-04T16:35:55.858687" }
- Menu Item
{ "itemName" : "Chocolate Cookies", "itemCost" : "1.20", "itemPrice" : "5.00", "itemProfit" : "3.80" }
- Order
{ "customerName" : "Amy", "customerPhone" : "12345678", "customerAddress" : "123 Smith Street", "menuItem" : { "itemName" : "Chocolate Cookies", "itemCost" : "1.20", "itemPrice" : "5.00", "itemProfit" : "3.80" }, "orderDeadline" : "01/01/2024", "orderQuantity" : "2", "orderStatus" : "N", "timeAdded" : "2023-04-04T16:35:55.864688500" }
4 Upcoming features [coming soon]
- Highlight overdue orders.
- Better representation of sales report (e.g. Pie charts or graphs) to track your business’s growth.
- Ability to export your data as csv.
5 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 Trackr home folder.
Q: Can I search for suppliers
by other fields such as tags
?
A: Currently it is not supported but will be added in the future. You can only find suppliers
by their names
. Sorry for the inconvenience caused.
Q: Can I edit tags present in suppliers
?
A: This is not supported currently. You can just replace the tags directly using the edit_supplier
command. We will consider adding this as a feature in the future.
Q: Do I require internet access to use Trackr?
A: No, you can use Trackr without any internet access.
6 Summary
6.1 Prefix Summary
Parameter | Prefix | Rules |
---|---|---|
Name (Task, Supplier, Customer, Menu Item) | n/ | - Should only contains alphanumeric characters and spaces |
Phone Number (Supplier, Customer) | p/ | - Should only contain digits - Should have least 3 digits |
e/ | - Should only be of the form local@domain and only accept alphanumeric characters- local allows for special characters + , _ , . and - as well.- domain must be at least 2 letters long.- .com is not required. |
|
Address (Supplier, Customer) | a/ | - Can contain any letters |
Tag | t/ | - Should only contain alphanumeric characters - Should not contain spaces |
Deadline (Task, Order) | d/ | - Should be of the format dd/MM/yyyy - Dates that have passed are allowed |
Status (Task, Order) | s/ | - Should only contain alphanumeric characters |
Order Name | on/ | - Should only contain alphanumeric characters - Order name should be a valid menu item name |
Order Quantity | q/ | - Should only contain positive integer values |
Price | pr/ | - Should only contain positive numeric values - Allows for integers or values up to 2 decimal places |
Cost | c/ | - Should only contain positive numeric values - Allows for integers or values up to 2 decimal places |
Tab | t/ | - Should only contain alphabetical characters - Should be in all caps |
Criteria | c/ | - Should only contain alphabetical characters |
6.2 Command Summary
Action | Format, Examples |
---|---|
Add |
add_supplier / add_s e.g., add_s n/Betsy Cow t/diary e/betsycow@example.com a/Betsy Street p/12345678 t/meat add_order / add_o e.g., add_o n/John Doe l/John Street d/12/12/2023 q/10 on/Cupcakes add_task / add_t e.g., add_t d/Buy a card d/23/12/2024 s/D add_item / add_i e.g., add_i n/Chocolate Cake pr/30 c/10
|
Edit |
edit_supplier / edit_s e.g., edit_s 3 t/flour e/mark@example.com edit_order / edit_o e.g., edit_o 3 q/20 edit_task / edit_t e.g., edit_t 1 s/D edit_item / edit_i e.g., edit_i n/Chocolate Chip Cookie
|
Delete |
delete_supplier / delete_s e.g., delete_s 2 delete_order / delete_o e.g., delete_o 1 delete_task / delete_t e.g., delete_t 4 delete_item / delete_i e.g., delete_i 2
|
Find |
find_supplier / find_s e.g., find_s Pte find_order / find_o e.g., find_order on/Chocolate find_task / find_t e.g., find_t s/N find_item / find_i e.g., find_i Chocolate
|
Sort |
sort_task / sort_t e.g., sort_t c/Deadline sort_order / sort_o e.g., sort_order c/Deadline
|
List |
list_supplier / list_s list_order / list_o list_task / list_t list_menu / list_m
|
Clear |
clear_supplier / clear_s clear_order / clear_o clear_task / clear_t clear_menu / clear_m
|
Tab |
tab e.g., tab t/Home
|
Help | help |
Exit | exit |