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
1. Introduction
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!
2. Quick Start
-
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.
Figure 1. GUI of Inventory Manager -
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/johnd@example.com 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.
3. Features
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
3.1. Viewing help : help
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.
help
command3.2. Listing all suppliers : list-s
(By Liu Chao)
Shows a list of all suppliers in the inventory manager.
Format: list-s
3.3. Clearing all supplier entries : clear-s
(By Liu Chao)
Clears all supplier entries from the address book.
Format: clear-s
3.4. Adding a supplier: add-s
(By Liu Chao)
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
3.5. Editing a supplier : edit-s
(By Liu Chao)
Edits an existing supplier in the inventory manager.
Format: edit-s INDEX [n/NAME] [c/CONTACT_NUMBER] [e/EMAIL] [a/ADDRESS] [gp/GOOD PRICE]…
Examples:
-
edit-s 1 c/91234567 e/ColdStorageAtOrchard@example.com
Edits the contact number and email address of the 1st supplier to be91234567
andColdStorageAtOrchard@example.com
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.
3.6. Locating suppliers by name: find-s
(By Liu Chao)
Finds suppliers whose names contain any of the given keywords.
Format: find-s KEYWORD [MORE_KEYWORDS]
-
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
3.7. Source supplier(s) for good(s): source
(By Liu Chao)
Source suppliers who sell goods with good names containing any of the given keywords.
Format: Source GOOD_NAME [MORE_GOOD_NAME]…
-
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
3.8. Deleting a supplier : delete-s
(By Liu Chao)
Deletes the specified supplier from the address book.
Format: delete-s INDEX
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 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.
3.10. Buying goods from supplier: buy
(By Pang Jia Da)
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. |
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. |
3.11. Selling goods: sell
(By Pang Jia Da)
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.
|
3.12. Delete good entry in inventory: delete-g
(By Pang Jia Da)
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.
|
3.13. Setting minimum quantity for goods: warn
(By Fang Shao Hua)
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.
warn
commandWhen a new good is added into the inventory, its minimum quantity threshold is set at 0. |
3.14. Locating transactions by search criteria: find-t
(By Fang Shao Hua)
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.
|
find-t
command that uses only [TRANSACTION TYPE] criteria-
Search by
Name
ofSupplier
:
find-t n/alex bernice
display all transactions that related toAlex
orBernice
.
find-t
command that uses only [NAME] criteria-
Search by
Good Name
ofGood
:
find-t g/apple noodle
display all transactions that related toApple
orNoodle
.
find-t
command that uses only [GOOD NAME] criteriaCombination 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
.
find-t
command that uses [TRANSACTION TYPE] and [GOOD NAME] criteria.
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.
|
3.15. Listing all transactions : list-t
(By Fang Shao Hua)
Shows the list of transaction history in the inventory manager.
Format: list-t
list-t
command3.16. Undoing a recently executed command: undo
(By Nicholas Cristian Fernando)
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
)
3.17. Redoing a previously undone command: redo
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.
3.18. Exiting the program : exit
Exits the program.
Format: exit
3.19. Saving the data
Inventory manager data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
3.20. Encrypting data files [coming in v2.0]
For security concerns, all data will be encrypted by default.
4. FAQ
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.
5. Command Summary
(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