diff --git a/docs/AboutUs.md b/docs/AboutUs.md
index 6621d8921b6..1b5906af0fd 100644
--- a/docs/AboutUs.md
+++ b/docs/AboutUs.md
@@ -59,8 +59,8 @@ checking on LoC contributions and milestones management
[[github](http://github.com/Criss-Wang)]
[[portfolio](team/wangZhenlin.md)]
-* Role: Communication/progress manager; Tech Helper;
-* Responsibilities:
+* Role: Communication/progress manager; Tech Helper;
+* Responsibilities:
* In charge of `Delete` command.
* In charge of team communication (Setup channel/meeting schedule/deal with emergency situation).
* Track and manage team progression.
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 3fd68fa6a33..2c0426a0f5d 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -236,33 +236,31 @@ _{Explain here how the data archiving feature will be implemented}_
**Target user profile**:
-* John is a manager of a medical supplies company for 10 stores across the country
-* He is a tech-savvy manager that prefers typing compared to clicking since he is always in a rush to source for supplies
-* He has to retrieve suppliers contacts so that he can contact them to restock medical supplies when they run low at various stores.
-* These contacts are stored in an excel sheet, separated by different countries.
-* He also has to keep track of how much supplies each store has by calling every store to check at the end of the week and note down on separate excel sheets the sales of each store.
-* He wants things to be efficient by reducing the number of applications (referring to email, excel sheets, reports etc.) needed and automate as many components as possible (reminder for low stocks, auto placing of order if feasible because of login details and all).
-* He wants to access the most popular items and their suppliers' contact quickly. This helps him get promoted faster by ensuring a higher sales for each product.
+* manager of a medical supplies company that manages warehouses across the country
+* tech-savvy manager who prefers typing to clicking
+* keeps track of supplies in each warehouse
+* needs to quickly contact suppliers to restock medical supplies when the stock runs low at various warehouses
**Value proposition**:
-CLI-nic will keep track of details for each product as well as the product suppliers/stores contact details. In addition, CLI-nic helps John to retrieve and identify key information quickly. John can also create purchase order to keep track of how much orders has been placed so far, and the estimated delivery date. He can call the store to confirm if the stocks have been delivered on the estimated date. However, CLI-nic does not allow John to contact the suppliers and he has to call or email them individually. There will also not be any real-time updates for the number of stocks held by suppliers and John has to update them manually. Stocks at the stores will not be updated real-time as well. Instead, employees of each store will have to update John at the end of every week. Lastly, CLI-nic does not allow users to immediately place an order to suppliers or schedule a delivery to the stores.
+* manages suppliers/warehouses information conveniently
+* helps to retrieve and identify key suppliers/warehouses information quickly
+
### User stories
Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`
-| Priority | As a … | I want to … | So that I can… |
-| -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- |
-| `* * *` | potential user | save contacts of my suppliers and stores in same location | easily refer to the contacts and give them a call for updates |
-| `* * *` | potential user | save products in the same location as suppliers and stores | easily refer keep track of stocks in various stores and their suppliers |
-| `* * *` | new user | access the command list/user guide | easily refer to instructions for commands and usage instructions |
-| `* * *` | standard user | add a new supplier/product/store contacts entry | add entries to the list of suppliers/stores/inventory |
-| `* * *` | standard user | delete a supplier/supply/client contacts entry | remove entries that are not needed anymore |
-| `* * *` | standard user | find a supplier/product by name | locate relevant items without having to go through all the lists |
-| `* * *` | standard user | add remarks to a supplier entry | note down details that are specific to the supplier |
-| `* * *` | standard user | keep track of the estimated days to deliver the products | so that I can ensure that products are delivered as promised and update the stocks in each stores by myself
-| `* * *` | standard user | list all my products/suppliers/stores | so that I can contact them and retrieve details regarding products/suppliers/stores easily |
+| Priority | As a … | I want to … | So that I can… |
+| -------- | ------------------------------------------ | ------------------------------ | ------------------------------------------------------------------------- |
+| `* * *` | standard user | add my suppliers' information and products offered | easily refer to the contacts and give them a call for updates on their supply availability |
+| `* * *` | standard user | add details of warehouses and stocks for each product | easily keep track of the stocks in each of my warehouse |
+| `* * *` | standard user | add remarks to a supplier entry | note down details that are specific to the supplier |
+| `* * *` | standard user | access the command list/user guide | easily refer to instructions for commands and guidance for usage |
+| `* * *` | standard user | delete a supplier/warehouse entry | remove suppliers/warehouses no longer operating |
+| `* * *` | standard user | find medical products associated with warehouses or suppliers | locate relevant items without having to go through all the lists |
+| `* * *` | standard user | view the information of a specific warehouse or supplier | so that I can retrieve details about suppliers/warehouses I can't remember and contact them |
+| `* * * ` | intermediate user | update the stock of a specific product in warehouses | so that I can keep track of the changes in the stocks of the warehouses |
*{More to be added}*
@@ -272,96 +270,308 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
(For all use cases below, the **System** is the `CLI-nic` and the **Actor** is the `user`, unless specified
otherwise)
-**Use case: Delete a person**
+**Use case: UC01 Add a warehouse**
+
+**MSS**
+
+1. User keys in command to add a warehouse.
+2. CLI-nic adds the warehouse into the list and shows a success message.
+
+ Use case ends.
+
+**Extensions**
+
+* 1a. CLI-nic detects an error in the entered warehouse info.
+
+ * 1a1. CLI-nic shows an error message.
+ * 1a2. CLI-nic requests for the correct format of warehouse info.
+ * 1a3. User enters new data.
+
+ Steps 1a1-1a3 are repeated until the data entered are correct.
+ Use case resumes from step 2.
+
+**Use case: UC02 Add a supplier**
+
+**MSS**
+
+1. User keys in command to add a supplier.
+2. CLI-nic adds the supplier into the list and shows a success message.
+
+ Use case ends.
+
+**Extensions**
+
+* 1a. CLI-nic detects an error in the entered supplier info.
+
+ * 1a1. CLI-nic shows an error message .
+ * 1a2. CLI-nic requests for the correct data.
+ * 1a3. User enters new data.
+
+ Steps 1a1-1a3 are repeated until the data entered are correct.
+ Use case resumes from step 2.
+
+**Use case: UC03 Add a new product to supplier**
+
+**MSS**
+
+1. User keys in command to add a product.
+2. CLI-nic adds the product into the list and shows a success message.
+
+ Use case ends.
+
+**Extensions**
+
+* 1a. CLI-nic detects an overlap in the entered product and the existing products in the supplier's supply list.
+
+ * 1a1. CLI-nic shows an error message.
+ * 1a2. CLI-nic requests for a new product name.
+ * 1a3. User enters a product name.
+
+ Steps 1a1-1a3 are repeated until the name entered is correct.
+ Use case resumes from step 2.
+
+* 1b. CLI-nic cannot find the supplier from the supplier list.
+
+ * 1b1. CLI-nic shows an error message.
+ * 1b2. CLI-nic requests for a new supplier name.
+ * 1b3. User enters a new supplier name.
+
+ Steps 1b1-1b3 are repeated until the supplier is found.
+ Use case resumes from step 2.
+
+**Use case: UC04 clear all supplier and warehouse entries**
+
+**MSS**
+
+1. User requests to clear the data in the application.
+2. CLI-nic clears all supplier and warehouse entries, shows empty lists of suppliers and warehouses and shows a success message.
+
+ Use case ends.
+
+**Use case: UC05 Delete a supplier**
+
+**MSS**
+
+1. User requests to view a specific supplier by keyword.
+2. CLI-nic shows the specific supplier and its index.
+3. User deletes the supplier via its index in the list.
+4. CLI-nic deletes the supplier in the list and shows a success message.
+
+ Use case ends.
+
+**Extensions**
+
+* 2a. The supplier list is empty.
+
+ * 2a1. CLI-nic informs the user there is no supplier in the list currently.
+
+ Use case ends.
+
+* 3a. The given index is invalid.
+
+ * 3a1. CLI-nic shows an error message and gives command suggestions.
+ * 3a2. User enters the new supplier index.
+
+ Steps 3a1-3a2 are repeated until the data entered are correct.
+ Use case resumes at step 4.
+
+**Use case: UC06 Delete a warehouse**
**MSS**
-1. User requests to list persons
-2. AddressBook shows a list of persons
-3. User requests to delete a specific person in the list
-4. AddressBook deletes the person
+1. User requests to view a specific warehouse by keyword.
+2. CLI-nic shows the specific warehouse and its index.
+3. User deletes the warehouse via its index in the list.
+4. CLI-nic deletes the warehouse in the list and shows a success message.
Use case ends.
**Extensions**
-* 2a. The list is empty.
+* 2a. The warehouse list is empty.
+
+ * 2a1. CLI-nic informs the user there is no warehouse in the list currently.
- Use case ends.
+ Use case ends.
* 3a. The given index is invalid.
- * 3a1. AddressBook shows an error message.
+ * 3a1. CLI-nic shows an error message and gives command suggestions.
+ * 3a2. User enters the new warehouse index.
+
+ Steps 3a1-3a2 are repeated until the data entered are correct.
+ Use case resumes at step 4.
+
+
+**Use case: UC07 Find Suppliers of a product**
+
+**MSS**
+
+1. User enters the command to find the suppliers of a specific product.
+2. CLI-nic displays all suppliers that sells the product if any.
+3. User scrolls through all the relevant results and looks for the information that they desire.
+
+ Use case ends.
+
+**Extensions**
+
+* 1a. User enters invalid command for finding.
+
+ * 1a1. CLI-nic requests for the correct command.
+ * 1a2. User enter a new command for finding.
+
+ Steps 1a1 and 1a2 are repeated until a valid find command is entered.
+ Use case resumes at step 2.
+
+**Use case: UC08 Find Warehouses containing a product**
+
+**MSS**
+
+1. User enters the command to view a particular product stored in all warehouses.
+2. CLI-nic displays all the relevant products that are stored in the warehouses if any.
+3. User scrolls through all the relevant results and looks for the information that they desire.
+
+ Use case ends.
+
+**Extensions**
+
+* 1a. User enters invalid command for finding.
+
+ * 1a1. CLI-nic requests for the correct command.
+ * 1a2. User enter a new command for finding.
+
+ Steps 1a1 and 1a2 are repeated until a valid find command is entered.
+ Use case resumes from step 2.
+
+**Use case: UC09 View Help**
+
+**MSS**
+1. User asks for the list of command.
+2. CLI-nic displays information about all the commands and contains sample commands that the user can try out.
+3. User try out commands listed under help to familiarise themselves with CLI-nic.
- Use case resumes at step 2.
+ Use case ends.
-Use case: Add a supplier
+**Extensions**
-MSS
+* 1a. User asks for a specific command via the command keyword.
+ * 1a1. CLI-nic displays instruction on how the command they ask can be used. Sample command call will also be given.
+ * 1a2. User follows the instruction to try out command they asked to familiarise themselves with this command.
-1. User keys in command to add a supplier
+ Use case ends.
-2. CLI-nic shows an updated list of suppliers
+* 1b. User enters invalid help command.
+ * 1b1. CLI-nic shows an error message.
+ * 1b2. CLI-nic requests for the correct command.
+ * 1b3. User enters a new help command.
-Use case ends.
+ Steps 1b1-1b3 are repeated until a valid help command is entered.
+ Use case resumes from step 2.
-Extensions
+**Use case: UC10 Update quantity of a Product in a Warehouse**
-1a. CLI-nic detects an error in the entered data.
+**MSS**
-1a1. CLI-nic shows an error message.
-1a2. CLI-nic requests for the correct data.
-1a3. User enters new data
-Steps 1a1-1a3 are repeated until the data entered are correct.
-Use case resumes from step 1.
+1. User keys in command to update a product’s quantity with a specific product, warehouse and quantity.
+2. If the product exists, CLI-nic overwrites the product’s quantity. Else if the product does not exist, CLI-nic adds the product and its quantity to the warehouse. CLI-nic shows a success message.
-Use case: Add a store
+ Use case ends.
-MSS
+**Extensions**
-1. User keys in command to add a store
+* 1a. CLI-nic cannot find the warehouse.
+ * 1a1. CLI-nic shows an error message.
+ * 1a2. CLI-nic requests for a new warehouse name.
+ * 1a3. User enters a new name.
-2. CLI-nic shows an updated list of stores
+ Steps 1a1-1a3 are repeated until the data entered are correct.
+ Use case resumes from step 2.
-Use case ends.
+**Use case: UC11 View Supplier**
-Extensions
+**MSS**
-1a. CLI-nic detects an error in the entered data.
+1. User enters command to view supplierA information.
+2. CLI-nic displays all of supplierA information, including contact number and any notes such as “fast supplier”.
+3. User looks through the information of supplierA displayed and might call up the supplier if necessary.
-1a1. CLI-nic shows an error message.
-1a2. CLI-nic requests for the correct data.
-1a3. User enters new data
-Steps 1a1-1a3 are repeated until the data entered are correct.
-Use case resumes from step 1.
+ Use case ends.
+
+**Extensions**
+
+* 1a User enters invalid supplier name.
+ * 1a1. CLI-nic requests for new supplier name.
+ * 1a2. User enters a new supplier name.
+
+ Steps 1a1 and 1a2 are repeated until a valid supplier name is entered.
+ Use case resumes from step 2.
+
+**Use case: UC12 View Warehouse**
+
+**MSS**
-Use case: Add a product
+1. User enters command to view WarehouseA information.
+2. CLI-nic displays all of WarehouseA information, including contact number and any notes such as “first warehouse”.
+3. User looks through the information of WarehouseA displayed and might call up the warehouse if necessary.
-MSS
+ Use case ends.
+
+**Extensions**
+
+* 1a User enters invalid warehouse name.
+ * 1a1. CLI-nic requests for new warehouse name.
+ * 1a2. User enters a new warehouse name.
+
+ Steps 1a1 and 1a2 are repeated until a valid warehouse name is entered.
+ Use case resumes from step 2.
+
+--------------------------------------------------------------------------------------------------------------------
+### Use cases [Coming Soon]
+
+**Use case: UC00 Create a purchase order**
+
+**MSS**
+
+1. User requests to create a purchase order with a specific supplier, store, and a list of products and their quantities
+2. CLI-nic creates the purchase order
+
+ Use case ends.
+
+**Extensions**
-1. User keys in command to add a product
+* 1a. Any of the given names are invalid.
+ * 1a1. CLI-nic shows an error message.
+ * 1a2. User enters new names for the command.
-2. CLI-nic shows an updated list of products
+ Steps 1a1 and 1a2 are repeated until all the given names are valid.
+ Use case resumes from step 2.
-Use case ends.
+* 1b. The number of products names supplied and the number of product quantities given do not match.
+ * 1b1. CLI-nic shows an error message.
+ * 1b2. User enters the command again with the new products and quantities.
-Extensions
+ Steps 1b1 and 1b2 are repeated until the products and their quantities match.
+ Use case resumes from step 2.
-1a. CLI-nic detects an error in the entered data.
+* 1c. Any one of the arguments is not supplied.
+ * 1c1. CLI-nic shows an error message.
+ * 1c2. User enters the command again.
-1a1. CLI-nic shows an error message.
-1a2. CLI-nic requests for the correct data.
-1a3. User enters new data
-Steps 1a1-1a3 are repeated until the data entered are correct.
-Use case resumes from step 1.
+ Steps 1c1 and 1c2 are repeated until all required arguments are supplied.
+ Use case resumes from step 2.
*{More to be added}*
### Non-Functional Requirements
1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
-2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
-3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
+1. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
+1. The files used to store information about supplier/warehouse/product should be independent from each other and follow a similar format.
+1. The system should recognize common French/German letters as they may appear in the name of medical products.
+1. The system should be able to track > 1k suppliers, > 1k warehouses, > 1k medical supplies without a noticeable sluggishness in performance for typical usage.
+1. The size of the application excluding the data files should be minimal (< 30MB).
+1. The system should work off-line.
+1. The system stores data locally.
*{More to be added}*
@@ -369,6 +579,9 @@ Use case resumes from step 1.
* **Mainstream OS**: Windows, Linux, Unix, OS-X
* **Private contact detail**: A contact detail that is not meant to be shared with others
+* **Medical products/supplies**: The items / tools / medicine consumed by patients
+* **Supplier**: The companies / entities providing the sources of medical products
+* **Warehouse**: The places where the medical supplies are channeled to and kept. The storage condition of these warehouses are managed by the manager, which is our app user
--------------------------------------------------------------------------------------------------------------------
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 0808a9bbff6..dcd2992446f 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -19,7 +19,7 @@ and efficient Graphical User Interface interaction.
1. Download the latest `CLInic.jar` from [here](https://github.com/AY2021S1-CS2103-W14-4/tp/releases).
-1. Copy the file to the folder you want to use as the _home folder_ for your AddressBook.
+1. Copy the file to the folder you want to use as the _home folder_ for your CLI-nic system.
1. Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
![Ui](images/Ui.png)
@@ -27,31 +27,30 @@ and efficient Graphical User Interface interaction.
1. Type the command in the command box and press Enter to execute it. e.g. typing **`help`** and pressing Enter will display instructions on various commands.
Some example commands you can try:
- * **`add`** `w/warehouseA addr/John street, block 123, #01-01 wn/First warehouse` : Adds a warehouse
+ * **`add`** `w/warehouseA p/00000000 addr/John street, block 123, #01-01 wn/First warehouse` : Adds a warehouse
with the name warehouseA located at John street, block 123, #01-01. The warehouse is noted to be the “First warehouse”.
-
- * **`add`**` s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com sn/largest contractor` : Adds a
+
+ * **`add`** `s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com sn/largest contractor` : Adds a
supplier named Philips Pharmaceutical. His contact number is 00000000 and his email is
philipsPharm@gmail.com. The supplier is noted to be the “largest contractor”.
-
- * **`add`**` s/SupplierA p/PANADOL SUSP t/FEVER` : Adds the product PANADOL SUSP to list of products from
+
+ * **`add`** `s/SupplierA pd/PANADOL SUSP t/FEVER` : Adds the product PANADOL SUSP to list of products from
supplierA. This indicates that supplierA is selling this product. PANADOL SUSP also has a tag of FEVER.
-
+
* **`clear`** : Deletes all contacts.
- * **`delete`**` delete supplier 12` : Removes supplier at index 12 from the list of suppliers.
+ * **`delete`** `delete supplier 12` : Removes supplier at index 12 from the list of suppliers.
* **`exit`** : Exits the app.
- * **`find`**` PANADOL warehouse`** : Displays all the warehouses managed by the manager that has a product
+ * **`find`** `PANADOL warehouse`** : Displays all the warehouses managed by the manager that has a product
named PANADOL.
- * **`update`**` w/WarehouseA p/Panadol q/10` : Updates the quantity of Panadol in WarehouseA to 10. The
- quantity of Panadol in WarehouseA can be more than 10 or lesser than 10 before the update is done.
+ * **`update`** `w/WarehouseA pd/Panadol q/10` : Updates the quantity of PANADOL in WarehouseA to 10. The
+ quantity of PANADOL in WarehouseA can be more than 10 or lesser than 10 before the update is done.
* **`view supplier supplierA`** : Displays all the information associated with supplierA e.g. address, contact, email, products sold by the supplier etc.
-
1. Refer to the [Features](#features) below for details of each command.
--------------------------------------------------------------------------------------------------------------------
@@ -63,16 +62,16 @@ and efficient Graphical User Interface interaction.
**:information_source: Notes about the command format:**
* Words in `UPPER_CASE` are the parameters to be supplied by the user.
- e.g. in `list TYPE`, `TYPE` is a parameter which can be used as `list products`.
+ e.g. in `delete TYPE INDEX`, `TYPE` is a parameter which can be used as `delete warehouse 1`.
* Items in square brackets are optional.
- e.g `[LIST_TYPE] INDEX` can be used as `delete store 12` or as `delete 1`.
+ e.g `add s/SUPPLIER_NAME p/CONTACT_NUMBER [e/EMAIL_ADDRESS]` can be used as `add s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com` or as `add s/Philips Pharmaceutical p/00000000`.
* Items with `…` after them can be used multiple times.
e.g. `[t/TAG]…` can be used as `t/friend`, `t/friend t/family` etc.
* Parameters can be in any order.
- e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.
+ e.g. if the command specifies `n/NAME p/CONTACT_NUMBER`, `p/CONTACT_NUMBER n/NAME` is also acceptable.
@@ -86,18 +85,20 @@ Narrows down to a specific command and its actual input format and samples if sp
Format: `help [COMMAND]`
Examples:
-* `help` Display entire list of commands and their description
+
+* `help` Display entire list of `COMMAND` and their description.
* `help add` Displays the detailed description, input format and an input example of add command.
### Adding a warehouse : `add`
Adds warehouse to the CLI-nic application.
-Format: `add w/WAREHOUSE_NAME addr/ADDRESS [wn/WAREHOUSE_NOTE]`
+Format: `add w/WAREHOUSE_NAME p/CONTACT_NUMBER addr/ADDRESS [wn/WAREHOUSE_NOTE]`
Examples:
-* `add w/warehouseA addr/John street, block 123, #01-01 wn/First warehouse` : Adds a warehouse with the name
- warehouseA located at John street, block 123, #01-01. The warehouse is noted to be the “First warehouse”.
+
+* `add w/warehouseA p/00000000 addr/John street, block 123, #01-01 wn/First warehouse` Adds a warehouse with the name
+ warehouseA located at John street, block 123, #01-01. The warehouse's contact number is 00000000. The warehouse is noted to be the “First warehouse”.
### Adding a supplier : `add`
@@ -106,74 +107,78 @@ Adds a supplier to the CLI-nic application.
Format: `add s/SUPPLIER_NAME p/CONTACT_NUMBER [e/EMAIL_ADDRESS] [sn/SUPPLIER_NOTE]`
Examples:
-* `add s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com sn/largest contractor` : Adds a
+
+* `add s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com sn/largest contractor` Adds a
supplier named Philips Pharmaceutical. His contact number is 00000000 and his email is philipsPharm@gmail.com. The supplier is noted to be the “largest contractor”.
### Adding a product to a supplier : `add`
Adds product information to a supplier; associates a particular product with the supplier in the CLI-nic application.
-Format: `add s/SUPPLIER_NAME p/PRODUCT_NAME [t/TAG...]`
+Format: `add s/SUPPLIER_NAME pd/PRODUCT_NAME [t/TAG…]`
Examples:
-* `add s/SupplierA p/PANADOL SUSP t/FEVER` : Adds the product PANADOL SUSP to list of products from supplierA.
+
+* `add s/SupplierA pd/PANADOL SUSP t/FEVER` Adds the product PANADOL SUSP to list of products from supplierA.
* This indicates that supplierA is selling this product. PANADOL SUSP also has a tag of FEVER.
-### Update the stock for a product: `update`
+### Clearing all entries : `clear`
-* If the product does not exist for that store, it will associate the new product with the store and the
-* input quantity. Otherwise, it will update the stock of the existing product with the new quantity.
+Clears all entries (Suppliers and Warehouses) from the CLI-nic.
-Format: `update w/WAREHOUSE_NAME p/PRODUCT_NAME q/QUANTITY`
+Format: `clear`
-Example:
-* `update w/WarehouseA p/Panadol q/10` : Updates the quantity of Panadol in WarehouseA to 10. The
-* quantity of Panadol in WarehouseA can be more than 10 or lesser than 10 before the update is done.
+### Deletes a particular warehouse or supplier : `delete`
-### View a specific supplier / warehouse: `view`
+Delete entries of warehouses or suppliers that are not needed anymore.
-Shows a particular supplier/warehouse with their relevant information e.g. products associated with the supplier/warehouse, address etc.
+Format: `delete TYPE INDEX`
-Format: `view TYPE NAME`
-* The TYPE specified should be one of these values: supplier or warehouse
-* NAME specified is case-insensitive
+* The TYPE specified should be one of these values: warehouse / supplier.
+* The INDEX must be a positive integer, not exceeding the total number of items.
Examples:
-* `view supplier supplierA` Displays all the information associated with supplierA e.g. address, contact, email, products sold by the supplier etc.
-* `view warehouse warehouseB` Displays all the information associated with warehouseB e.g. address, all the products stored in the warehouse etc.
+
+* `delete warehouse 1` Removes the warehouse at index 1.
+* `delete supplier 12` Removes supplier at index 12 from the list of suppliers.
### Finding medical product associated with warehouses / suppliers: `find`
Finds all suppliers or warehouses managed by the manager that sells the relevant medical products.
-Format: `find PRODUCT TYPE`
+Format: `find TYPE KEYWORD…`
-* PRODUCT and KEYWORD specified is case-insensitive.
-* The TYPE specified should be one of these values: warehouse / supplier
+* KEYWORD specified is case-insensitive.
+* The TYPE specified should be one of these values: warehouse / supplier.
Examples:
-* `find PANADOL warehouse` displays all the warehouses managed by the manager that has a product named PANADOL.
-* `find masks supplier` displays all the suppliers that have stock for the input product.
-### Deletes a particular warehouse or supplier : `delete`
+* `find warehouse PANADOL SUSP` Displays all the warehouses managed by the manager that has a product named PANADOL SUSP.
+* `find supplier masks` Displays all the suppliers that have stock for the input product.
-Delete entries of warehouses or suppliers that are not needed anymore.
+### View a specific supplier / warehouse: `view`
-**Format**: `delete TYPE INDEX`
+Shows a particular supplier/warehouse with their relevant information e.g. products associated with the supplier/warehouse, address etc.
-* The TYPE specified should be one of these values: warehouse / supplier.
-* The INDEX must be a positive integer, not exceeding the total number of items.
+Format: `view TYPE NAME`
-**Examples**
+* The TYPE specified should be one of these values: supplier or warehouse.
+* The supplier/warehouse NAME specified is case-insensitive.
-* `delete warehouse 1` Removes the warehouse at index 1.
-* `delete supplier 12` Removes supplier at index 12 from the list of suppliers.
+Examples:
-### Clearing all entries : `clear`
+* `view supplier supplierA` Displays all the information associated with supplierA e.g. address, contact, email, products sold by the supplier etc.
+* `view warehouse warehouseB` Displays all the information associated with warehouseB e.g. address, all the products stored in the warehouse etc.
-Clears all entries (Suppliers and Warehouses) from the CLI-nic.
+### Update the stock for a product: `update`
-Format: `clear`
+* If the product does not exist for that warehouse, it will associate the new product with the warehouse and the input quantity. Otherwise, it will update the stock of the existing product with the new quantity.
+
+Format: `update w/WAREHOUSE_NAME pd/PRODUCT_NAME q/QUANTITY`
+
+Example:
+
+* `update w/WarehouseA pd/Panadol q/10` Updates the quantity of Panadol in WarehouseA to 10. The quantity of Panadol in WarehouseA can be more than 10 or lesser than 10 before the update is done.
### Exiting the program : `exit`
@@ -187,17 +192,22 @@ CLI-nic data are saved in the hard disk automatically after any command that cha
-### To be implemented in the future
+--------------------------------------------------------------------------------------------------------------------
+
+## To be implemented in the future
+
+### Creating a purchase order : `create`
+Creates a purchase order to track the purchase of medical products from a supplier to a warehouse.
-### **Creating a purchase order : `create`**
-* Create a purchase order to track the purchase of medical products from a supplier to a store.
-* **Format**: `create sid/SUPPLIER_ID s/STORE_ID id/PRODUCT_ID… qty/PRODUCT_QUANTITY… date/EXPECTED_DELIVERED_DATE`
- * The number specified for PRODUCT_ID cannot exceed the total number of products. All the IDs must be identifiable
- * The number of arguments specified for PRODUCT_QUANTITY and PRODUCT_ID must match
- * EXPECTED_DELIVERED_DATE must be after current time and of the form YYYY-MM-DD
+Format: `create s/SUPPLIER_NAME w/WAREHOUSE_NAME pd/PRODUCT_NAME… qty/PRODUCT_QUANTITY… date/EXPECTED_DELIVERED_DATE`
+
+* All the SUPPLIER_NAME/WAREHOUSE_NAME/PRODUCT_NAME must be identifiable.
+* The number of arguments specified for PRODUCT_QUANTITY and PRODUCT_NAME must match.
+* EXPECTED_DELIVERED_DATE must be after current time and of the form YYYY-MM-DD.
+
+Examples:
-* **Examples**:
- * `create sid/01 s/123 id/1 2 4 8 qty/100 200 400 800 date/2020-12-12` : Creates a purchase order for the delivery of 100, 200, 400 and 800 of products with ID 1, 2, 4 and 8 respectively from supplier ID of 01 to store ID of 123 by December 12, 2020.
+* `create s/SupplierA w/WarehouseA pd/Panadol1 Panadol2 qty/100 200 date/2020-12-12` Creates a purchase order for the delivery of 100, 200 of products Panadol1 & Panadol2 respectively from SupplierA to WarehouseA by December 12, 2020.
--------------------------------------------------------------------------------------------------------------------
@@ -212,12 +222,12 @@ CLI-nic data are saved in the hard disk automatically after any command that cha
Action | Format, Examples
--------|------------------
-**Add** Warehouse | `add w/WAREHOUSE_NAME addr/ADDRESS [wn/WAREHOUSE_NOTE]`
e.g., `add w/warehouseA addr/John street, block 123, #01-01 wn/First warehouse`
+**Add** Warehouse | `add w/WAREHOUSE_NAME p/CONTACT_NUMBER addr/ADDRESS [wn/WAREHOUSE_NOTE]`
e.g., `add w/warehouseA p/00000000 addr/John street, block 123, #01-01 wn/First warehouse`
**Add** Supplier | `add s/SUPPLIER_NAME p/CONTACT_NUMBER [e/EMAIL_ADDRESS] [sn/SUPPLIER_NOTE]`
e.g., `add s/Philips Pharmaceutical p/00000000 e/philipsPharm@gmail.com sn/largest contractor`
-**Add** Product | `add s/SUPPLIER_NAME p/PRODUCT_NAME [t/TAG...]`
e.g., `add s/SupplierA p/PANADOL SUSP t/FEVER`
+**Add** Product | `add s/SUPPLIER_NAME pd/PRODUCT_NAME [t/TAG…]`
e.g., `add s/SupplierA pd/PANADOL SUSP t/FEVER`
**Clear** | `clear`
-**Delete** | `delete INDEX`
e.g., `delete 3`
-**Find** | `find TYPE KEYWORD`
e.g. `find product panadol`
+**Delete** | `delete TYPE INDEX`
e.g., `delete 3`
+**Find** | `find TYPE KEYWORD…`
e.g. `find warehouse panadol`
**Help** | `help`
-**Update** | `update w/WAREHOUSE_NAME p/PRODUCT_NAME q/QUANTITY`
e.g., `update w/WarehouseA p/Panadol q/10`
+**Update** | `update w/WAREHOUSE_NAME pd/PRODUCT_NAME q/QUANTITY`
e.g., `update w/WarehouseA pd/Panadol q/10`
**View** | `view TYPE NAME`
e.g. `view supplier supplierA`
diff --git a/docs/images/Ui.png b/docs/images/Ui.png
index 5bd77847aa2..1a887a1525a 100644
Binary files a/docs/images/Ui.png and b/docs/images/Ui.png differ
diff --git a/docs/index.md b/docs/index.md
index 836ade50004..29d813e4553 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -3,8 +3,8 @@ layout: page
title: CLI-nic
---
-[![CI Status](https://github.com/Y2021S1-CS2103-W14-4/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2021S1-CS2103-W14-4/tp/actions)
-[![codecov](https://codecov.io/gh/Y2021S1-CS2103-W14-4/tp/branch/master/graph/badge.svg)](https://codecov.io/gh/AY2021S1-CS2103-W14-4/tp)
+[![CI Status](https://github.com/AY2021S1-CS2103-W14-4/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2021S1-CS2103-W14-4/tp/actions)
+[![codecov](https://codecov.io/gh/AY2021S1-CS2103-W14-4/tp/branch/master/graph/badge.svg)](https://codecov.io/gh/AY2021S1-CS2103-W14-4/tp)
![Ui](images/Ui.png)
diff --git a/docs/team/jeffrey.md b/docs/team/jeffrey.md
index 7d72f9602e8..f809c91d980 100644
--- a/docs/team/jeffrey.md
+++ b/docs/team/jeffrey.md
@@ -31,4 +31,3 @@ It is written in Java, and has about 10 kLoC.
* **Tools**:
* nil
-
diff --git a/docs/team/qinliang.md b/docs/team/qinliang.md
index d435383fb5d..80aac324d5c 100644
--- a/docs/team/qinliang.md
+++ b/docs/team/qinliang.md
@@ -17,11 +17,11 @@ Given below are my contributions to the project.
* Highlights: This command will allow for future features with regard to inventory management and sales metrics
* Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}*
-* **New Feature**:
+* **New Feature**:
* **Code contributed**: [RepoSense link]()
-* **Project management**:
+* **Project management**:
* **Enhancements to existing features**:
diff --git a/docs/team/wangZhenlin.md b/docs/team/wangZhenlin.md
index bccf4941bb5..861e3ed6af1 100644
--- a/docs/team/wangZhenlin.md
+++ b/docs/team/wangZhenlin.md
@@ -5,10 +5,9 @@ title: Wang Zhenlin's Project Portfolio Page
## Project: CLI-nic
-CLI-nic is **an application to help medical supply managers keep track of medical products and storage.** It is optimized
-for these managers to **update product supply conditions and access critical product information quickly** via fast typing
-and efficient Graphical User Interface interaction.
-It is written in Java, and has about __ kLoC.
+CLI-nic is **a desktop application to help medical product sales managers keep track of medical products and storage**.
+It is optimized for these managers to **update product conditions and access critical product information quickly via fast typing**.
+It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
@@ -21,7 +20,7 @@ Given below are my contributions to the project.
* Credits: {mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}
* **Project management**:
- * Managed releases `v1.3` - `v1.5rc` (_ releases) on GitHub
+ * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
* **Enhancements to existing features**:
* Updated the GUI (Pull requests [\#33](), [\#34]())
@@ -47,5 +46,3 @@ Given below are my contributions to the project.
* **Tools**:
* nil
-
-