By: CS2113T-W12-4
Since: Jun 2016
Licence: MIT
Drink I/O is a desktop application that helps you to manage your drink distribution company. You can use Drink I/O to keep track of your inventory and analyse your company’s sales performance. Drink I/O is optimised for Command Line Interface (CLI), allowing you to manage your company faster than traditional Graphical User Interface (GUI) apps, while retaining the benefits of a GUI
This user guide provides comprehensive documentation on the Drink I/O setup process, the features you can access and the commands you can use. Choose a topic from the Table of Contents above to find answers, get instructions and learn to improve your workflow with Drink I/O.
General Command Format
-
Words in UPPER_CASE are the parameters supplied by users
-
Use underscore for spaces for fields other than
NAME
-
Parameters can be supplied in any order as tags are specified
-
e.g.
p/' for selling price, `n/
for name
-
-
Parameters in square brackets are optional
-
Ensure you have Java version
9
or later installed in your Computer. -
Download the latest
DrinkIO.jar
here. -
Copy the file to the folder you want to use as the home folder for your Address Book.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Refer to Section 3.1, “Logging in” to login the product.
-
After login in, the main window will appear as shown below.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
<to be added>
-
Refer to Section 3, “Getting Started” for details of each command.
Upon entering starting up the application, you will be met by the login page below:
To login, you can use either the CLI or GUI to input your USERNAME
and PASSWORD
.
GUI Login
-
Enter your
USERNAME
andPASSWORD
into the respective username and password fields -
Click on the LOGIN button
CLI Login
-
Enter your
USERNAME
andPASSWORD
into the terminal in this format-
Format:
USERNAME
PASSWORD
-
-
Press the ENTER key
ℹ️
|
|
Examples for CLI input:
User Name | Password | Authentication Level |
---|---|---|
tester |
123 |
ADMIN |
manager |
123 |
MANAGER |
stocktaker |
123 |
STOCKTAKER |
accountant |
123 |
ACCOUNTANT |
ℹ️
|
The example provided is a default login account for admins. This account is created only for testing purposes. |
After successfully logging in, a confirmation message would be shown indicating your authentication level:
In small-scale drink distribution companies, there are generally 3 critical roles and responsibilities to keep the company running:
-
Stock taker
-
Accountant
-
Manager
This is taken into account in Drink I/O. Each role has a different type of Drink I/O account, and in a specific role, you can work with functions that are tailored to your role.
As the stock taker is primarily in charge of updating inventory, the Stock Taker account has tailored access to the inventory manager.
The accountant has access to Drink I/O's financial analysis tools in the Accountant account.
Drink I/O has a login feature. This ensure that every user has to have an account before using the application. Hence, it would increase the security of the application.
When you enter command that will change the data storage, you will be prompted with a message as shown below:
If you have confirmed the command, key in y or Y to confirm.
When you receive an account from manager, you want to change the password to increase security.
Format: changePassword o/[OLD_PASSWORD] n/[NEW_PASSWORD]
As a manager or administrator, you want to create new account for new employee.
Format: createAccount u/USER_NAME p/PASSWORD a/AUTHENTICATION_LEVEL
AUTHENTICATION_LEVEL
must be one of:
-
ADMIN
-
MANAGER
-
STOCKTAKER
-
ACCOUNTANT
The core feature of Drink I/O is to manage your company’s inventory. This includes the adding of drinks into the inventory, deleting, viewing their details and updating these details.
In Drink I/O, each drink has a unique name, a selling price, a cost price, stock count and tags that allow you to classify the drink (e.g. soft drink, tea) and enter any other information.
You can add new drinks into your inventory to let Drink I/O track them.
💡
|
Summary
|
Step-by-Step Instructions
To enter a new drink into Drink I/O,
-
Enter
add
into the command box -
Key in
n/
, followed by name of drink (NAME
) -
Key in
p/
, followed by default selling price of 1 carton of the drink (SELLING_PRICE
) -
Key in
cp/
, followed by default cost price of 1 carton of the drink (COST_PRICE
) -
Press enter
-
Confirm the command by entering
y
orY
-
Press enter
-
Check whether the drink has been recorded successfully in the system
-
If you see the message "New drink added", followed by the drink’s details that you entered, the drink has been successfully entered into Drink I/O
-
The drink will also appear at the bottom of the inventory list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
Warning
|
|
Finds drinks which meet specific criteria depending on the input prefix.
💡
|
Summary |
You can search for specific drinks by name using this search function
Finds all drinks which names contain any of the given keywords.
Format: find n/KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
coke
will matchCoke
-
The order of the keywords does not matter. e.g.
Tea Green
will matchGreen Tea
-
Only the drink name is searched.
-
Only full words will be matched e.g.
Cok
will not matchCoke
-
Drinks matching at least one keyword will be returned (i.e.
OR
search). e.g.Tea
will returnGreen Tea
,Milk Tea
Examples:
-
find n/Tea
ReturnsMilk Tea
andGreen Tea
-
find n/Tea Milk Coke
Returns any drink havingTea
,Milk
, orCoke
in their names
To find out which drinks in your drink company are in need of restocking, you can utilise this search function which will return the drinks with quantity less than or equal to the quantity input.
Finds all drinks which have quantity less than or equal to the given quantity.
Format: find q/QUANTITY
-
Only numbers are allowed in the Quantity field
Examples:
-
find q/400
ReturnsCoke
andGreen Tea
which have a quantity less than 400
To find out which drinks have been in the warehouse for a long period of time you can utilise this search function which will return the drinks that have batches older than or have the same date as the date input.
Find drinks which have batches that are older or have the same date as the given date.
Format find d/DATE
-
Date must be in either of the following formats:
-
DD/MM/YYYY
-
D/MM/YYYY
-
-
Date must be an existing date in the calendar
-
i.e. 30/02/2018 is a nonexistent date
-
-
Even if a drink has only 1 batch that meets the requirements, it will be shown
Examples:
-
find d/02/11/2018
Returns all drinks which have batches imported on or before 2nd November 2018 -
find d/9/11/2018
Returns all drinks which have batches imported on or before 9th November 2018
To show the full list of drinks in the inventory list, use list
.
This is especially useful after using a find
command.
💡
|
Summary |
Step-by-Step Instructions
To view all drinks in Drink I/O,
-
Enter
list
into the command box -
Press enter
-
You will see all the drinks listed in the inventory panel on the left of the interface.
Format: list
To view further details of the drink such as its batches that are not displayed on the drink card panel, you can simply click on the relevant drink card to select it or use the select command.
Selects the drink identified by the index number used in the displayed drink list.
Format: select INDEX
-
Selects the drink and loads the Drink detail page and the batch list page of the drink at the specified
INDEX
. -
The index refers to the numbered bullet shown in the displayed drink list.
-
The index must be a positive integer
1, 2, 3, …
You can change the cost price, selling price and tags of a drink.
For even greater efficiency, Drink I/O allows you to edit the above fields simultaneously.
You can do this by specifying multiple fields to edit in a single command.
💡
|
For power users
|
Drink I/O allows you to change the cost price of a drink after adding it.
💡
|
Summary
|
Step-by-Step Instructions
To edit the cost price of a drink in Drink I/O,
-
Enter
edit
into the command box -
Enter the inventory list bullet number corresponding to the desired drink (
INDEX
) -
Key in
cp/
, followed by new cost price (COST_PRICE
) -
Press enter
-
Check whether the drink details have been edited successfully in the system
-
If you see the message "Edited drink", followed by the updated drink details, the drink’s cost price has been successfully edited into Drink I/O
-
The drink’s updated details will also be updated in the inventory list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
Drink I/O allows you to change the selling price of a drink after adding it.
💡
|
Summary
|
Step-by-Step Instructions
To edit the selling price of a drink in Drink I/O,
-
Enter
edit
into the command box -
Enter the inventory list bullet number corresponding to the desired drink (
INDEX
) -
Key in
p/
, followed by new selling price (SELLING_PRICE
) -
Press enter
-
Check whether the drink details have been edited successfully in the system
-
If you see the message "Edited drink", followed by the updated drink details, the drink’s cost price has been successfully edited into Drink I/O
-
The drink’s updated details will also be updated in the inventory list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
Drink I/O allows you to change the optional tags of a drink after adding it.
💡
|
Summary
|
Step-by-Step Instructions
To edit the tags of a drink in Drink I/O,
-
Enter
edit
into the command box -
Enter the inventory list bullet number corresponding to the desired drink (
INDEX
) -
Key in
t/
, followed by new tag (TAG
)-
If you wish to clear tags, enter only
t/
-
You may enter multiple tags. An example to do so:
t/TAG_1 t/TAG_2
-
-
Press enter
-
Check whether the drink details have been edited successfully in the system
-
If you see the message "Edited drink", followed by the updated drink details, the drink’s cost price has been successfully edited into Drink I/O
-
The drink’s updated details will also be updated in the inventory list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
ℹ️
|
Editing the tags will replace all existing tags of the drink with the new specified tags. |
To manage the purchases and sales of drinks, you can record them into Drink I/O, and let Drink I/O handle the updating of the inventory for you in real-time. These transactions also facilitate financial analyses (see Section 8, “Analysing Sales Performance”).
When you make a purchase, you can increase your stocks by entering a purchase transaction.
💡
|
Summary
|
Step-by-Step Instructions
To record a purchase transaction,
-
Enter
buy
into the command box -
Key in
n/
, followed by name of drink (NAME
) -
Key in
q/
, followed by quantity purchased (QUANTITY
) -
Press enter
-
Confirm the command by entering
y
orY
-
Press enter
-
Check whether the transaction has been recorded successfully
-
If you see the message "Purchase transaction recorded!", followed by the transaction details, the transaction had been successfully entered into Drink I/O
-
The transaction will also appear at the bottom of the transaction list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
Warning
|
The drink you want to transact must be recorded in Drink I/O. The drink name is case-sensitive. Otherwise, you will see the message "The drink entered does not exist in the inventory list", and the transaction will not be entered into the system. |
When you make a sale, you can decrease your stocks by entering a sale transaction.
💡
|
Summary
|
Step-by-Step Instructions
To record a sale transaction,
-
Enter
sell
into the command box -
Key in
n/
, followed by name of drink (NAME
) -
Key in
q/
, followed by quantity transacted in sale (QUANTITY
) -
Press enter
-
Confirm the command by entering
y
orY
-
Press enter
-
Check whether the transaction has been recorded successfully,
-
If you see the message "Sale transaction recorded!", followed by the transaction details, the transaction had been successfully entered into Drink I/O
-
The transaction will also appear at the bottom of the transaction list panel
-
-
If not, follow the instructions displayed in the message display pane, and re-enter the command
-
Warning
|
|
You can view all the transactions entered into Drink I/O to verify their accuracy.
💡
|
Summary |
Step by Step Instructions
To view all transactions entered,
-
Enter
viewTrans
into the command box -
Press enter
You will see a list of all transactions displayed in the transactions panel.
Drink I/O can calculate the overall cost, revenue and profit aggregated across all drinks, for various periods based on your list of transactions.
You can indicate the time period for the analysis of overall sales figures.
💡
|
Summary
|
The time periods available are:
-
within the current day
-
within the week (including current day)
-
within 30 days (including current day)
To indicate the time periods desired in your analysis, append one of the following period parameters to the end of the command:
-
-w
for a period of a week -
-m
for a period of 30 days
No parameter is required for analysis in the period of a day. See Section 8.2, “Viewing overall cost” for concrete usage examples and step-by-step instructions.
You can check the total costs incurred by your company, over a specified period.
💡
|
Summary
|
Step by Step Instructions
-
To view the total costs incurred within the current day:
-
Enter
costs
into the command box -
Press enter
-
You should see the value of the total costs displayed in the results panel.
-
To view the total costs incurred within the past 7 days (inclusive of current day):
-
Enter
costs -w
into the command box -
Press enter
-
You should see the value of the total costs incurred over the week displayed in the results panel.
-
To view the total costs incurred within the past 30 days (inclusive of current day):
-
Enter
costs -m
into the command box -
Press enter
-
You should see the value of the total costs incurred over the past 30 days displayed in the results panel. The transactions list will also show the relevant transactions included in the analysis.
You can check the total revenue earned by your company, over a specified period.
💡
|
Summary
|
Step by Step Instructions
To view the total revenue earned,
-
Enter
revenue
into the command box -
Append a desired period parameter
-
e.g.
-w
,-m
(see Section 8.1, “Indicating time period for analysis”)
-
-
Press enter
You should see the value of the total revenue earned in the specified period displayed in the results panel. The transactions list will also show the relevant transactions included in the analysis.
You can check the total profit earned by your company, over a specified period.
💡
|
Summary
|
Step by Step Instructions
To view the total profit earned,
-
Enter
profit
into the command box -
Append a desired period parameter
-
e.g.
-w
,-m
(see Section 8.1, “Indicating time period for analysis”)
-
-
Press enter
You should see the value of the total profit earned displayed in the results panel. The transactions list will also show the relevant transactions included in the analysis.
General Command Format
-
Words in UPPER_CASE are the parameters supplied by users
-
Use underscore for spaces for fields other than
NAME
-
Parameters can be supplied in any order as tags are specified
-
e.g.
p/
for selling price,n/
for name
-
-
Parameters in square brackets are optional
Change password of the current account
Format: changePassword o/OLD_PASSWORD n/NEW_PASSWORD
ℹ️
|
This enables the user to change their password after manager create a default account. |
Shows available commands with brief description of what a manager can do.
Format: help
Edits the cost price, selling price and tags of a drink.
Format: edit INDEX [cp/COST_PRICE] [p/SELLING_PRICE] [t/TAG]…
One or more of the parameters must be included in the command.
Shows available commands with brief description of what a stock taker can do.
Format: help
Records purchase of a drink.
Format: buy n/DRINK_NAME q/QUANTITY_PURCHASED
Examples:
-
buy n/coca cola q/12
ℹ️
|
DRINK_NAME is predefined by manager, so an alert message will appear if the drink name is not in the predefined list. In addition, drink name is case-sensitive. |
Record sale of a drink.
Format: sell n/DRINK_NAME q/QUANTITY_SOLD
Examples:
-
sell n/coca cola q/15
ℹ️
|
|
Shows available commands with brief description of what the accountant account can do.
Format: help
View the total profit earned in time periods of a day, 7 days and 30 days (including current day).
Format: profit
ℹ️
|
To view profit earned up to now in the current day, no parameters are used. i.e. just |
View the total revenue earned in time periods of a day, 7 days and 30 days (including current day).
Format: revenue
ℹ️
|
To view revenue earned up to now in the current day, no parameters are used. i.e. just |
View the total costs incurred in time periods of a day, 7 days and 30 days (including current day).
Format: costs
ℹ️
|
To view costs earned up to now in the current day, no parameters are used. i.e. just |
View the sales number of each drink item in a period specified by the starting date and ending date.
Format: sales STARTING_DATE ENDING_DATE
View the variation tendency of the cost of every ingredient in a period specified by the starting date and ending date.
Format: drinkcost STARTING_DATE ENDING_DATE