By: AY1920S2-CS2103-W14-2
Since: Feb 2020
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Listing all suppliers :
list-s
(By Liu Chao) - 3.3. Clearing all supplier entries :
clear-s
(By Liu Chao) - 3.4. Adding a supplier:
add-s
(By Liu Chao) - 3.5. Editing a supplier :
edit-s
(By Liu Chao) - 3.6. Locating suppliers by name:
find-s
(By Liu Chao) - 3.7. Source supplier(s) for good(s):
source
(By Liu Chao) - 3.8. Deleting a supplier :
delete-s
(By Liu Chao) - 3.9. Deleting an entry or entries of good-price pair(s) in the supplier’s list:
delete-gp
(By Liu Chao) - 3.10. Buying goods from supplier:
buy
(By Pang Jia Da) - 3.11. Selling goods:
sell
(By Pang Jia Da) - 3.12. Delete good entry in inventory:
delete-g
(By Pang Jia Da) - 3.13. Setting minimum quantity for goods:
warn
(By Fang Shao Hua) - 3.14. Locating transactions by search criteria:
find-t
(By Fang Shao Hua) - 3.15. Listing all transactions :
list-t
(By Fang Shao Hua) - 3.16. Undoing a recently executed command:
undo
(By Nicholas Cristian Fernando) - 3.17. Redoing a previously undone command:
redo
- 3.18. Exiting the program :
exit
- 3.19. Saving the data
- 3.20. Encrypting data files
[coming in v2.0]
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
InventoryManager is for those who prefer to use a desktop app for managing their inventory. More importantly, InventoryManager is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, InventoryManager can get your inventory management tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
inventorymanager.jar
here. -
Copy the file to the folder you want to use as the home folder for your InventoryManager.
-
Double-click the file to start the app. The GUI should appear in a few seconds. For Mac OS users, permission may need to be granted to the file before usage.
-
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:
-
list-s
: lists all suppliers -
add
n/John Doe c/98765432 e/[email protected] a/John street, block 123, #01-01 gp/apple 4.50
: adds a supplier namedJohn Doe
selling apples at 4.50 each to the InventoryManager. -
delete-s 3
: deletes the 3rd supplier shown in the current list -
exit
: exits the app
-
-
Refer to Section 3, “Features” for details of each command.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [gp/GOOD PRICE]
can be used asn/John Doe gp/apple 4.50
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[gp/GOOD PRICE]…
can be used asgp/apple 4.50
,gp/orange 2.00 gp/pear 5.00
etc. -
Parameters can be in any order e.g. if the command specifies
n/NAME c/CONTACT_NUMBER
,c/CONTACT_NUMBER n/NAME
is also acceptable. -
For parameters where only one value is expected, only the last specified value will be taken e.g.
c/12345 c/54321
will use onlyc/54321
. -
All dates follow the format
yyyy-MM-dd
To view the command usage or the command format of this application.
Format: help
An url link will be shown that linked to this page.
Shows a list of all suppliers in the inventory manager.
Format: list-s
Clears all supplier entries from the address book.
Format: clear-s
Adds a supplier to the inventory manager
Format: add-s n/NAME c/CONTACT_NUMBER e/EMAIL a/ADDRESS [gp/GOOD PRICE]…
-
A supplier can have any number of good-price pairs (including 0)
-
Must include name, phone number, email, address.
-
Repeated supplier will cause exception.
Examples:
-
add-s n/NTUC Fairprice Macpherson Mall c/63521728 e/MacphersonMall@NTUC Fairprice.com a/401, #02-22 MacPherson Rd, Macpherson Mall, 368125 gp/banana 5 gp/tissue paper 0.55
Edits an existing supplier in the inventory manager.
Format: edit-s INDEX [n/NAME] [c/CONTACT_NUMBER] [e/EMAIL] [a/ADDRESS] [gp/GOOD PRICE]…
-
Edits the supplier at the specified
INDEX
. The index refers to the index number shown in the displayed supplier list. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
-
If the entered good-price pair is not in the existing supplier’s list, the entered good price pair will be stored in the supplier’s list as a new good price pair.
💡
|
You can add any number of good-price pairs to the existing suppliers at one time. |
Examples:
-
edit-s 1 c/91234567 e/[email protected]
Edits the contact number and email address of the 1st supplier to be91234567
and[email protected]
respectively. -
edit-s 2 gp/apple 5 gp/banana 10
The existing second supplier only hasapple
priced at1
dollar. Hence, this command will edit the price ofapple
to5
dollar and add the good price pair ofbanana
into the supplier’s good list.
Finds suppliers whose names contain any of the given keywords.
Format: find-s KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
ColdStorage
will matchcoldstorage
-
The order of the keywords does not matter. e.g.
NTUC Fairprice
will matchFairprice NTUC
-
Only the name is searched.
-
Only full words will be matched e.g.
ColdStorage
will not matchColdStorages
-
Suppliers matching at least one keyword will be returned (i.e.
OR
search). e.g.Fairprice NTUC
will returnMacpherson NTUC
,Fairprice Value Store
-
You can find multiple suppliers by input multiple keywords.
-
You could use keywords instead of full names.
Examples:
-
find-s NTUC ColdStorage
ReturnsNTUC Fairprice
andColdStorage Orchard
Source suppliers who sell goods with good names containing any of the given keywords.
Format: Source GOOD_NAME [MORE_GOOD_NAME]…
-
The search is case insensitive. e.g
apple
will matchAPPLE
-
The keywords are referring to goods' names
-
At least one good name must be included
-
The order of the keywords does not matter. e.g.
Fuji Apple
will matchApple Fuji
-
Only the good’s name is searched.
-
Only full words will be matched e.g.
apple
will not matchappl
-
Suppliers who sell goods with goods' names matching at least one keyword will be returned (i.e.
OR
search). e.g.mango pie
will return suppliers sellingmango yogurt
and suppliers sellingapple pie
-
You can find multiple suppliers by input multiple goods' names.
-
You could use keywords instead of full goods' names.
-
You could source for suppliers selling different goods by using different keywords at one time.
Examples:
-
source banana apple
ReturnsCavendish banana
andFuji apple
Deletes the specified supplier from the address book.
Format: delete-s INDEX
-
The command will delete the supplier at the specified
INDEX
. -
The index refers to the index number shown in the displayed supplier list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
list-s
delete-s 2
Deletes the 2nd supplier in the inventory manager. -
find-s NTUC
delete-s 1
Deletes the 1st supplier with name containingNTUC
in the inventory manager aftr filtering with the keywordNTUC
.
3.9. Deleting an entry or entries of good-price pair(s) in the supplier’s list: delete-gp
(By Liu Chao)
Deletes the specified good price pair(s) from supplier’s list of good price pairs.
Format: delete-gp INDEX (must be a positive integer) g/GOOD_NAME [g/MORE_GOOD_NAME]…
-
The command will delete the good price pair(s) of supplier’s list of good price pairs at the specified
INDEX
. -
The index refers to the index number shown in the displayed supplier list.
-
The
index
must be a positive integer 1, 2, 3, … -
You must enter the full names of the goods which are case sensitive
-
You could delete one or more price good pairs from the supplier’s list by input one or more good’s names
-
You must include at least one good name.
💡
|
The command will display all good price pairs that could not be found or are successfully deleted at the end of command. |
Examples:
-
delete-gp 1 g/apple g/orange (to delete two different goods)
Deletes the good price pairs of apple and orange in the 1st supplier’s list of good price pairs.
Buys a batch of goods from a supplier in the contact list who stocks that product. The inventory manager cannot buy products in the following cases:
-
The supplier has not been entered in the supplier list
-
The supplier has not been registered to the good, as indicated by the "offers" section of each supplier
Format: buy SUPPLIER_DISPLAY_INDEX g/GOOD_NAME q/QUANTITY
Example:
-
buy 1 g/Apple q/4
Buys 4 apples from supplier at displayed index 1 in the supplier list.
💡
|
If the good does not exist in the inventory, a new entry for that good will be created. |
Caution
|
The maximum quantity of any good in the inventory is 999,999. Users are not allowed to buy quantities of goods that would cause that limit to be exceeded. |
Sells a particular goods from the inventory.
The inventory manager cannot sell products in the following cases:
-
The good being sold does not exist in the inventory
-
The quantity being sold is larger than the amount existing in the inventory
Format: sell GOOD_DISPLAYED_INDEX q/QUANTITY p/PRICE
Example:
-
sell 1 q/4 p/3.5
Sells 4 units of good at displayed index 1 in the inventory at $3.50 each.
💡
|
The selling price can be specified to the nearest cent, or 2 decimal places maximum. |
💡
|
When the quantity in inventory reaches 0, the name of the good is not deleted for future reference or restocking.
This entry can be deleted using the delete-g command.
|
Deletes an entry for a good in the inventory. The good to be deleted is at the displayed index shown in the middle inventory panel. All of the good’s quantity will be removed in the process.
Format: delete-g INDEX
Example:
-
delete-g 3
The good entry at displayed index 3 will be removed, provided there is an entry at index 3.
💡
|
No transaction history will be recorded for delete-g . This command is
meant to recove goods with no quantity in the inventory when reference to them
is no longer required. If there are quantities being transacted, buy and sell
should be used instead.
|
Sets the minimum quantity threshold for a certain good.
When the quantity of the good is below the threshold, the quantity of the good will be mark with red color background and rank higher up in the inventory list.
All goods under their threshold quantity will be shown before all goods above their threshold quantity.
Format: warn INDEX q/MIN_QUANTITY
Example:
-
warn 5 q/100
This sets the minimum quantity threshold for good at index 5 with an quantity of 100.
ℹ️
|
When a new good is added into the inventory, its minimum quantity threshold is set at 0. |
Display list of transactions that fulfills the given search criteria.
3 types of search criteria:
-
transaction type
-
supplier’s name
-
good’s name
Format: find-t [TRANSACTION TYPE] [n/NAME] [g/GOOD NAME]
;
Example:
-
Search by transaction type:
find-t buy
display allbuy
transactions.
ℹ️
|
Currently, there are only two types of transaction: buy and sell . Type of transaction is case sensitive.
|
-
Search by
Name
ofSupplier
:
find-t n/alex bernice
display all transactions that related toAlex
orBernice
.
-
The search is case insensitive. e.g
bernice
will matchBernice
-
The order of the keywords does not matter. e.g.
Bernice Yu
will matchYu Bernice
-
Only the name is searched.
-
Only full words will be matched e.g.
bernice
will not matchbernices
-
Supplier matching at least one keyword will be returned (i.e.
OR
search). e.g.Alex Bernice
will returnAlex Yeoh
,Bernice Yu
-
Search by
Good Name
ofGood
:
find-t g/apple noodle
display all transactions that related toApple
orNoodle
.
Combination of criteria
Criteria can be combined to give a more constraint search.
Example:
-
Search by transaction type and
GoodName
ofGood:
`find-t buy n/apple noodle
display allbuy
transactions that is related toApple
orNoodle
.
ℹ️
|
The transaction related to Noodle is no longer shown as compare to search only by
Good Name , as that transaction is a sell transaction and does not fulfill the transaction type.
|
Shows the list of transaction history in the inventory manager.
Format: list-t
Removes changes from a recently executed command. Commands that only affect display e.g. find and list, and undo commands, will be ignored and the next command in line will be undone.
Format: undo
Examples (assuming all other commands are valid):
-
clear-s
list-t
undo
(ignoreslist-t
and reversesclear-s
) -
clear-s
delete-g 1
undo
(reversesdelete-g 1
)
undo
(reversesclear-s
)
Redoes changes undone by the most recent undo command.
Format: redo
Examples (assuming all other commands are valid):
-
clear-s
list-t
undo
(ignoreslist-t
and reversesclear-s
)
redo
(repeatsclear-s
) -
clear-s
delete-g 1
undo
(reversesdelete-g 1
)
undo
(reversesclear-s
)
redo
(repeatsclear-s
)
redo
(repeatsdelete-g 1
) -
clear-s
undo
(reversesclear-s
)
delete-g 1
redo
Theredo
fails asdelete-g 1
will remove the undone states.
Inventory manager data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
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 InventoryManager folder.
(By Liu Chao)
-
Adding a supplier
add-s n/NAME c/PHONE e/EMAIL a/ADDRESS [gp/GOOD PRICE]…
e.g.add-s n/NTUC Fairprice Macpherson Mall c/63521728 e/MacphersonMall@NTUC Fairprice.com a/401, #02-22 MacPherson Rd, Macpherson Mall, 368125 gp/banana 5 gp/tissue paper 0.55
-
Listing all suppliers :
list-s
-
Clearing all supplier entries :
clear-s
-
Deleting a supplier :
delete-s INDEX (must be a positive integer)
e.g.delete-s 1
-
Deleting an entry or entries of good-price pair(s) in the supplier’s list :
delete-gp INDEX (must be a positive integer) g/GOOD_NAME [g/MORE_GOOD_NAME]…
e.g.delete-gp 1 g/apple g/orange (to delete two different goods)
-
Editing a supplier :
edit-s INDEX (must be a positive integer) [n/NAME] [c/PHONE] [e/EMAIL] [a/ADDRESS] [gp/GOOD_PRICE_PAIR]…
e.g.edit-s 1 c/63865586 gp/Watermelon 10
-
Locating suppliers by name :
find-s KEYWORD [MORE_KEYWORD]…
e.g.find-s NTUC ColdStorage
-
Source supplier(s) for good(s):
source GOOD_NAME [MORE_GOOD_NAME]…
e.g.source banana apple
(By Pang Jia Da)
-
Buy goods:
buy SUPPLIER_DISPLAYED_INDEX g/GOOD_NAME q/QUANTITY
e.g.buy 1 g/Apple q/4
-
Sell goods:
sell GOOD_DISPLAYED_INDEX q/QUANTITY p/PRICE
e.g.sell 1 q/4 p/3
(By Fang Shao Hua)
-
Set minimum threshold quantity for goods:
warn INDEX q/MIN_QUANTITY
-
List transaction history:
list-t
-
Find transaction:
find-t [TRANSACTION TYPE][n/NAME][g/GOOD NAME]
(By Nicholas Cristian Fernando)
-
Undo:
undo
-
Redo:
redo
-
Help :
help