By: Ong Wei Sheng
, Zhu Zikun
, Qiu Yi Wen
, Li Kexuan
, Jiang Qixiong
Last Updated: 12 April 2021
Are you a home-based business owner tired of using a pen and paper to keep track of your inventory? Do you have limited budget to invest in a new system to manage your business? Fret not, easyLog, our cross-platform1 logistics management application will get you covered! It is the application to boost your productivity when it comes to managing your items and orders and best of all, it is free! Primarily, the current version of easyLog allows you to add new items and orders before updating, viewing and finding existing items and orders easily. easyLog also allows you to remove a specific item and order and clear all existing items and orders in the inventory at ease. You can also generate receipts for your customers and find out your best-selling product(s)2.
easyLog is highly optimized for home-based business owners like you via a carefully designed Command Line Interface (CLI); this means that you will run the application by typing commands into a command terminal3 . If you type fast, easyLog can get logistics management tasks done more efficiently than traditional Graphical User Interface (GUI) applications; GUI applications allow users to interact with the applications through visuals such as buttons, at the expense of lower precision and slower speed as compared to CLI.
If this sounds great to you, we encourage you to visit Quick start to start learning how to manage your inventory using easyLog. This guide also gives you a step-by-step instruction to use various features easyLog has to offer and we have prepared Frequently Asked Questions (FAQ) and a concise table of Command Summary for you. We invite you to explore easyLog.
help
items
items add
items list
items delete
items clear
items update
items find
items stats
orders
orders add
orders list
orders delete
orders clear
orders find
orders price
orders done
exit
Setting up easyLog is made really easy. It does not even require an installation and a few simple steps listed below will be good to go.
To check if you have Java 11 installed, simply type
java --version
in the command terminal of your operating system.
For Windows users, you can typecmd
in the Windows search box before pressingEnter
to open the Command Prompt.
For macOS users, you can pressCommand
andSpace
to launch Spotlight and typeTerminal
before pressingEnter
.
For Ubuntu users, you can pressCtrl + Alt + T
to open a terminal window.
java -jar easyLog.jar
.Section 2 will explain the features available in easyLog.
Any word surrounded by <>
is a parameter to be entered by the user (e.g., in items add <item_name>
, item_name
is
a parameter, and a valid command can be items add mp3
).
Any leading and trailing whitespaces will be neglected. This means, for instance, <spaces> help <spaces>
will trigger
2.1 viewing help: help
.
In the user guide, you will come across π which can refer to a tip or warning.
help
As a first-time user or whenever you forget some commands or just need to check a particular command format, the help
feature will show all available commands of easyLog for you. At the same time, you can see the brief description of
those commands.
Steps to check all available commands:
help
command.Note:
π Anything typed after
help
will be ignored and thehelp
command will execute as per normal. e.g.,help asdas
Expected Output:
Section 2.2 will explain the features related to items.
items
As a first-time user, or whenever you forget some of items-related commands or just need to check a particular command
format, the items
feature will show all available commands related to items. At the same time, you can see the brief
description of those commands. Also typing any invalid items-related commands would also show you all the available
items-related commands.
Steps to check all items-related commands:
items
command.Expected Output:
items add
When you are sometimes overwhelmed by handling a large variety of items, the items add
feature allows you to record
the details of those items one by one into the easyLog application.
Steps to add an item in easyLog:
items add <item_name>
command.<item_price> <item_stock>
for the price and stock to be added to the items details.Note:
π There should be exactly 1 empty space between
and .
π Valid item names cannot be empty or consist of purely white space(s).
π Valid item names cannot exceed 30 characters, including spaces. The name of an item starts after the first empty space after "add" in `items add`.
π If an item name is already found in the item list, adding new items with the same name will still be successful but take note that they will be tracked differently.
π A valid item price must be a number ranging from 0 (free item) to 1,000,000,000 (inclusive).
π Item price recorded has exactly 2 decimal places and will be rounded if applicable (e.g., 4.595 will be rounded to 4.60 and 68.58432 will be rounded to 68.58).
π If an invalid item price is entered, easyLog will not check the validity of item stock and will only notify the user that item price entered is wrong (e.g., empty item price, invalid item price).
π Item stock has to be a positive integer ranging from 1 to 1,000,000,000 (inclusive).
π When in doubt, do follow the prompts shown on the command terminal.
Expected Output:
items list
Whenever you would like to check all items and their prices and stocks in your inventory, the items list
feature allows
you to achieve it by quickly and accurately displaying the item list.
Steps to check the item list:
items list
command.Note:
π If there are no items in the system, a message will be shown to notify you to add at least one item first.
π Anything typed afteritems list
will be ignored, and the command will execute as per normal e.g.,items list asdsdad
.
Expected Output:
items delete
When you want to delete an item in the system, the items delete
feature allows you to
achieve this easily.
Steps to delete an item in easyLog
items list
command to check the item index to be deleted.items delete <space> <item_index>
for the item to be removed from the item list.Note:
π If there is no item in the system, a message will be shown to notify you to add items first.
π If you remember the itemβs index, you can skip step 1.
π The item_index should only be in Arabic numerals.
π The item_index should not be more than the total number of items in the item list.
Expected Output:
items clear
If you would like to clear all existing items in your inventory, you can use the items clear
feature to do that
easily.
Steps to update an item:
items clear
command.Note:
π If there is no single item in the item list, you will be notified that you should not use
items clear
command.
Expected Output:
items update
When you want to update either the price or stock of an item in the system, the items update
feature allows you to
achieve this easily.
Steps to update an item:
items update
command.p
or s
to let the system know you would
like to update the item price or stock respectively.p
is entered in step 3, you need to enter the revised item price; if s
is entered in step 3, you need to enter
the revised item stock.Note:
π Item fields (i.e.,
p
ands
) must be lower-case.
π Item price must be a number ranging from 0 (free item) to 1,000,000,000 (inclusive).
π Item stock has to be a positive integer ranging from 1 to 1,000,000,000 (inclusive).
π You are allowed to update an item with its current price or current stock. It is interpreted as you no longer want to update any fields of the item.
π If you wish to update an item stock as 0, please useitems delete
command instead.
π When in doubt, do follow the prompts shown on the command terminal.
Expected Output:
items find
Whenever you would like to find relevant items and their prices and stocks in your inventory,
the items find
feature allows you to achieve it by quickly and accurately
displaying the relevant item from the item list.
Steps to find an item:
items find <space> <item_name>
to obtain items related to the item name.Note:
π The input is case-sensitive, please be mindful of the exact wording.
Expected Output:
items stats
If you would like to gain some useful insights from the order history since you start using easyLog, the items stats
feature will let you know the most popular item(s) ordered by customers. You will also be reminded to stock up.
Steps to obtain the most popular item(s) in the items list:
items stats
command.Note:
π There can be multiple items which are the most popular. This happens when more than one item have the most number of sales.
π If the item no longer exists in the item list, the number of sales of that item is lost.
π The hard limit for items sales is 2147483647.
Expected Output:
Section 2.3 will explain the features related to orders.
orders
As a first-time user, or whenever you forget some of orders-related commands or just need to check a particular command
format, orders
feature will show all available commands related to orders. At the same time, you can see the brief
description of those commands. Also typing any invalid orders-related commands would also show you all the available
orders-related commands.
Steps to check all orders-related commands:
orders
command.Expected Output:
orders add
When receiving an order from your customer, orders add
feature allows you to input the details of the order from your
customer into the easyLog app and allows you to manage your orders. (Further features to manage orders will be explained
in future sections.)
Steps to add an order in easyLog:
orders add <customer_name>
command<item_number> <space> <item_quantity>
for items to be added to the order.stop
to stop adding items to the order.Note:
π Order has to contain at least 1 item to be added into the system.
π The customer name cannot exceed 30 characters including spaces.
π Item quantity to be inputted into the order cannot be less than 1 or more than the current stock in the inventory.
π Item quantity for each item inputted into the order would be removed from the inventory stock of that item and tracked separately. The quantity would only be returned and added back to the inventory count for that item if the order is not done and deleted.
π When adding the same item twice into the order, it will not combine the total stock of that item added but instead show as 2 separate additions of the same item.
π While adding items into the order, if the app encounters any format error in the input, it may cause order details to be added wrongly. Do useorders delete
feature to delete the order and re-input the order details in the correct format.
π When in doubt, do follow the prompts shown on the command terminal.
Expected Output:
orders list
You can use this command to track all the orders recorded in the system.
Steps to open your order list:
orders list
command.Note:
π If there is no order in the system, a message will be shown to notify you to add at least one order first.
π Anything typed afterorders list
will be ignored and the command will execute as per normal e.g.,order list asdasdadasd
.
Expected Output:
orders delete
When your customer would like to cancel his or her order, the orders delete
feature allows you to achieve it.
Steps to remove an order from the order list:
orders list
command to check the customerβs order index to be deleted.orders delete <space> <order_index>
for the order to be removed from the order list.Note:
π If there is no order in the system, a message will be shown to notify you to add at least one order first.
π If you remember the customerβs order index, you can skip step 1.
π Unless the item has been deleted from the item list, every item under the deleted order will be added back to the inventory.
π If an out-of-range order index is entered, easyLog will not check if the order index is an integer. For instance, if there are only 2 orders placed by customers, inputtingorders delete 2.6
will cause easyLog show that it is an out-of-range error.
πOrders delete
can make item stock temporarily go more than 1,000,000,000. If it happens, please move them out of the inventory due to limited space available.
Expected Output:
orders clear
In the very unlikely event that all orders are cancelled, instead of deleting them one by one, you can use the
orders clear
feature to do it efficiently.
Steps to clear the order list:
orders clear
command.Note:
π If there is no single order in the system, a message will be shown to notify you that you should not use
orders clear
feature.
π Items which belong to the orders cleared will be added back to the inventory. It is the same as executingorders delete
feature for every order in the order list.
πorders clear
can make item stock temporarily go more than 1,000,000,000. If it happens, please move them out of the inventory due to potentially limited space available.
Expected Output:
orders find
You can use this command to search for any order in the system quickly without looking through the order list one bye one.
Steps to find an order:
orders find <space> <order_name>
to obtain orders related to the order name.Note:
π The input is case-sensitive, please be mindful of the exact wording.
Expected Output:
orders price
You can use this command to check the total price of a specific order.
Steps to obtain the price of an order:
orders price <space> <order_index>
to obtain the price for a specific order.Note:
π If the order index keyed in is not an integer or an integer that does not exist in the order list, an error message will be shown to the user.
Expected Output:
orders done
You can use this command to change the status of an order once it is completed.
Steps to change the status of an order:
orders list
command to check the order index.orders done <space> <order_index>
to change the status of a specific order.π If the order index keyed in is not an integer or an integer that is not exist in the order list, an error message will be shown to the user.
π Once an order is completed, it will be deleted automatically from the system and a receipt will be generated.
π More details on receipt generation can be seen here.
Expected Output:
Section 2.4 will explain storage related features.
While initializing easyLog, it automatically looks for an available save file to load so that you can continue your
progress from the previous exit. If there are no save file available to load, easyLog will automatically create a save
file for you and save your data and information when exiting the app. The save file will be named as easyLog.txt
and
will be located in the same folder/directory as the easyLog app.
The save file can be copied to another device and placed in the same folder/directory that contains the easyLog app. Do
take note that only one easyLog.txt
should be in the directory or there would be an error. This transfer of save file
allows you to work on multiple devices if you choose to do so.
It is not recommended that you manipulate/edit the data in easyLog.txt
. However, if you are an expert user and confident,
do feel free to manipulate the data in easyLog.txt
manually if it enhances your workflow.
Note:
π Item details save format are as followed below.
items <item_price> <item_stock> <item_sales> <item_name>
π Order details save format are as followed below.
orders <customer_name> <item_index> itemQuantity <item_quantity>
π Receipt counter save format are as followed below.
ReceiptCounter <receipt_count>
When orders done
feature is executed, a receipt will be
automatically generated that contains the order details that was deleted. The generated receipts can be found in the
same directory as the location of the easyLog app inside a Receipts
folder. The receipts generated will be in a .txt
format. This allows the list of orders while using the app to be kept clean with only the orders that are not done for
easier viewing. Also, the generated receipts allows you to keep track of your revenue or to handle your taxes.
Furthermore, receipts are numbered to show you how many orders you have fulfilled.
Note:
π The receipts generated can only be seen in the directory where you start the app from when you exit the app.
exit
Exit the app.
Note:
π Anything typed after
exit
will be ignored, and the command will execute as per normal e.g.,exit adasadadas
.
Format: exit
Expected Output:
Q1: easyLog keeps showing a βbad initβ error message despite the fact that I first use it.
Please check and ensure that easyLog has write permissions in the folder. Do not use a write-protected folder.
Q2: Do I lose all my data after exiting easyLog?
No, all relevant records are saved upon
exit
command.
Q3: I do not seem to be able to add an item. Why is this so?
There could be many possibilities which can result in you not being able to add an item. We advise you to follow the below steps when intending to add an item.
Please note that you need to specify the description of the item. For instance, you can do this by typing
items add Competitive Programming 4
.After that, input the price per item (unit price) and item stock. Please note that the unit price is either zero (free item) or a positive number smaller or equal to 1,000,000,000 while item stock is a positive number smaller or equal to 1,000,000,000. For example, you can enter
20 100
.
Q4: I do not seem to be able to add an order. Why is this so?
There could be many possibilities which can result in you not being able to add an order. We advise you to follow the below steps when intending to add an order.
Please note that you need to specify a customerβs name as he or she is the one whom the order of interest will be sent to. For instance, you can do this by typing
orders add Alice
.After that, input the item index found in the item list (if unsure, simply type
items list
to check) and the quantity. For example, you could type1 2
.
Q5: I am scared that I input any command which I do not intend to execute. Is there a way to revert changes in the system?
If you input any invalid command (e.g., an unrecognized command or a clearing command for the item list when the list is already empty), it will not be executed.
In the event that you accidentally add an item or order, you can always undo it by deleting the item or order. Likewise, you can add an item or order back if you delete it mistakenly. For now, easyLog does not have a command to revert any changes. We may consider adding it in the upcoming version.
Command | Format | Example |
---|---|---|
help | help |
help |
items | items |
items |
items add | items add <item_name> Please input item price and stock. <item_price> <item_quantity> |
items add PS5 Please input item price and stock. 1 2 |
items list | items list |
items list |
items delete | items delete <item_index> |
items delete 2 |
items clear | items clear |
items clear |
items find | items find |
items find <item_name> |
items update | items update |
items update |
items stats | items stats |
items stats |
orders | orders |
orders |
orders add | orders add <customer_name> Input the items to be added to this order. <item_index> <item_quantity> |
orders add weisheng Input the items to be added to this order. 1 2 |
orders list | orders list |
orders list |
orders delete | orders delete <order_index> |
orders delete 2 |
orders clear | orders clear |
orders clear |
orders find | orders find |
orders find <order_name> |
orders price | orders price <order_index> |
orders price 2 |
orders done | orders done <order_index> |
orders done 2 |
exit | exit |
exit |