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

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

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. 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.1.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.1.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.1.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.2. 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.3. 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, …​

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 Section 8, “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.

8. Analysing Sales Performance

Drink I/O can calculate the overall cost, revenue and profit aggregated across all drinks, for various periods based on your list of transactions.

8.1. Indicating time period for analysis

You can indicate the time period for the analysis of overall sales figures.

Summary
Time period parameters:

  • Current day: (none)

  • Past 7 days (including current day): -w

  • Past 30 days (including current day): -m

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.

8.2. Viewing overall cost

You can check the total costs incurred by your company, over a specified period.

Summary
Command format: costs [PERIOD_PARAMETER]

  • [PERIOD_PARAMETER] is the parameter indicating the time period for analyses.

    • It can be one of: (none), -w or -m

Step by Step Instructions

  • To view the total costs incurred within the current day:

    1. Enter costs into the command box

    2. 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):

    1. Enter costs -w into the command box

    2. 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):

    1. Enter costs -m into the command box

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

8.3. Viewing overall revenue

You can check the total revenue earned by your company, over a specified period.

Summary
Command format: revenue [PERIOD_PARAMETER]

  • [PERIOD_PARAMETER] is the parameter indicating the time period for analyses.

    • It can be one of: (none), -w or -m

Step by Step Instructions
To view the total revenue earned,

  1. Enter revenue into the command box

  2. Append a desired period parameter

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

8.4. Viewing overall profit

You can check the total profit earned by your company, over a specified period.

Summary
Command format: profit [PERIOD_PARAMETER]

  • [PERIOD_PARAMETER] is the parameter indicating the time period for analyses.

    • It can be one of: (none), -w or -m

Step by Step Instructions
To view the total profit earned,

  1. Enter profit into the command box

  2. Append a desired period parameter

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