By: CS2113T-W12-4 Since: Jun 2016 Licence: MIT

1. Introduction

drink io logo

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.

1.1. How to use this guide

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

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest DrinkIO.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Address Book.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

  5. Refer to Section 3.1, “Logging in” to login the product.

    login page main
  6. After login in, the main window will appear as shown below.

    Ui
  7. 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.

  8. Some example commands you can try:
    <to be added>

  1. Refer to Section 3, “Getting Started” for details of each command.

3. Getting Started

3.1. Logging in

Upon entering starting up the application, you will be met by the login page below:

login page main

To login, you can use either the CLI or GUI to input your USERNAME and PASSWORD.

GUI Login

  1. Enter your USERNAME and PASSWORD into the respective username and password fields

  2. Click on the LOGIN button

CLI Login

  1. Enter your USERNAME and PASSWORD into the terminal in this format

    1. Format: USERNAME PASSWORD

  2. Press the ENTER key

  • User name and password are seperated with a single space when using CLI input

  • Both username and password are single words. No spaces are allowed in username or password.

Examples for CLI input:

Table 1. Table List of user accounts at first launch or upon reset
User Name Password Authentication Level

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:

login confirmation

3.2. Logging out

Logging out of the application will bring you back to the login screen.

  1. To log out, enter the following command into the command bar

    1. Command format: logout

  2. Press the ENTER key

4. Types of Users

In small-scale drink distribution companies, there are generally 3 critical roles and responsibilities to keep the company running:

  1. Stock taker

  2. Accountant

  3. 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.

4.1. Stock Taker

As the stock taker is primarily in charge of updating inventory, the Stock Taker account has tailored access to the inventory manager. See [stocktaker-commandSummary] for a summary of the commands that you can use as a stock taker.

4.2. Accountant

The accountant has access to Drink I/O's financial analysis tools in the Accountant account. See [accountant-commandSummary] for a summary of the commands that you can use as an accountant.

4.3. Manager

A manager has access to all of Drink I/O's features and commands by using the Manager account. See [manager-commandSummary] for a summary of the commands that you can use as a manager.

5. Managing Your Drink I/O 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.

5.1. Confirmation of Command

When you enter command that will change the data storage, you will be prompted with a message as shown below:

Command confirmation

If you have confirmed the command, key in y or Y to confirm.

5.2. Changing your password

When you receive an account from manager, you want to change the password to increase security. Format: changePassword o/[OLD_PASSWORD] n/[NEW_PASSWORD]

Examples for changePassword:

  • changePassword o/123 n/1234

If password changes is successful, a message will be shown:

password change successful

5.3. Create additional account

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

Examples for create new account:

  • createAccount u/tester2 p/myPassword a/ADMIN

If create account is successful, a message will be shown:

create new account successful

5.4. Delete account

As a manager or administrator, you might want to delete a account when it is no longer used. Format: deleteAccount u/USER_NAME

Examples for delete old account:

  • deleteAccount u/tester

If delete account is successful, a message will be shown:

deleteAccount successful

6. Managing Your Inventory

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.

6.1. Adding new drinks

You can add new drinks into your inventory to let Drink I/O track them.

Summary
Command format: add n/NAME p/SELLING_PRICE cp/COST_PRICE [t/TAG]…​

  • NAME is the name of the drink you wish to record

    • This name must be unique among the drinks recorded in Drink I/O

    • Names are case-sensitive, and must contain only alphanumeric characters and spaces

  • SELLING_PRICE is the default selling price of 1 carton of the drink

  • COST_PRICE is the default cost price of 1 carton of the drink

    • Prices must not be negative values, and should have at most 2 decimal places

  • TAG is optional, and must contain only alphanumeric characters

    • You can add any number of tags, including 0

Step-by-Step Instructions
To enter a new drink into Drink I/O,

  1. Enter add into the command box

  2. Key in n/, followed by name of drink (NAME)

  3. Key in p/, followed by default selling price of 1 carton of the drink (SELLING_PRICE)

  4. Key in cp/, followed by default cost price of 1 carton of the drink (COST_PRICE)

  5. Press enter

  6. Confirm the command by entering y or Y

  7. Press enter

  8. 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

  • The new drink you want to add must be have a unique name among the drinks in Drink I/O.

  • The adding of the drink will fail if SELLING_PRICE or COST_PRICE are negative values.

6.2. Searching for specific drink(s)

Finds drinks which meet specific criteria depending on the prefix of the input.

Summary
Command format:
find n/ DRINK NAME
find q/ QUANTITY
find d/ DATE

6.2.1. Searching by drink name

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 match Coke

  • The order of the keywords does not matter. e.g. Tea Green will match Green Tea

  • Only the drink name is searched.

  • Only full words will be matched e.g. Han will not match Hans

  • Drinks matching at least one keyword will be returned (i.e. OR search). e.g. Tea will return Green Tea, Milk Tea

Examples:

  • find n/Tea
    Returns Milk Tea and Green Tea

  • find n/Tea Milk Coke
    Returns any drink having Tea, Milk, or Coke in their names

6.2.2. Searching by drink quantity

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 the quantity input.

Finds all drinks which have quantity less than the given quantity.
Format: find q/QUANTITY

  • Only numbers are allowed in the Quantity field

Examples:

  • find q/400
    Returns Coke and Green Tea which have a quantity less than 400

6.2.3. Searching by batch import date

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 the date input.

Find drinks which have batches that are older than 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 before 2nd November 2018

  • find d/9/11/2018
    Returns all drinks which have batches imported before 9th November 2018

6.3. Viewing all drinks in inventory

To show the full list of drinks in the inventory list, use list. This is especially useful after using a find command.

Summary
Command format: list

Step-by-Step Instructions
To view all drinks in Drink I/O,

  1. Enter list into the command box

  2. Press enter

  3. You will see alll the drinks listed in the inventory panel on the left of the interface.

6.4. Viewing drink details

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, …​

6.5. Updating drink details

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
You can update multiple fields at once by indicating multiple fields to edit in one command.
Command format: edit INDEX [cp/COST_PRICE] [p/SELLING_PRICE] [t/TAG]…​

  • INDEX refers to the numbered bullet shown in the displayed drink list.

  • You must specify at least one of the fields.

6.5.1. Updating cost price

Drink I/O allows you to change the cost price of a drink after adding it.

Summary
Command format: edit INDEX cp/COST_PRICE

  • INDEX refers to the numbered bullet shown in the displayed drink list.

Step-by-Step Instructions
To edit the cost price of a drink in Drink I/O,

  1. Enter edit into the command box

  2. Enter the inventory list bullet number corresponding to the desired drink (INDEX)

  3. Key in cp/, followed by new cost price (COST_PRICE)

  4. Press enter

  5. 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

6.5.2. Updating selling price

Drink I/O allows you to change the selling price of a drink after adding it.

Summary
Command format: edit INDEX p/SELLING_PRICE

  • INDEX refers to the numbered bullet shown in the displayed drink list.

Step-by-Step Instructions
To edit the selling price of a drink in Drink I/O,

  1. Enter edit into the command box

  2. Enter the inventory list bullet number corresponding to the desired drink (INDEX)

  3. Key in p/, followed by new selling price (SELLING_PRICE)

  4. Press enter

  5. 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

6.5.3. Updating tags

Drink I/O allows you to change the optional tags of a drink after adding it.

Summary
Command format: edit INDEX t/TAG…​

  • INDEX refers to the numbered bullet shown in the displayed drink list.

  • You may enter any number of tags, including 0. To clear tags, enter t/.

Step-by-Step Instructions
To edit the tags of a drink in Drink I/O,

  1. Enter edit into the command box

  2. Enter the inventory list bullet number corresponding to the desired drink (INDEX)

  3. 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

  4. Press enter

  5. 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.

7. Managing Transactions

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 [Analysing Sales Performance]).

7.1. Viewing transactions

You can view all the transactions entered into Drink I/O to verify their accuracy.

Summary
Command format: viewTrans

Step by Step Instructions
To view all transactions entered,

  1. Enter viewTrans into the command box

  2. Press enter

You will see a list of all transactions displayed in the transactions panel.