Skip to content

Commit 800f5ca

Browse files
authored
Merge pull request nus-cs2103-AY2021S1#73 from tohyuting/add-yuTing-UserAndDeveloperGuide
Update UserGuide and DeveloperGuide
2 parents feffa75 + 1c38dc1 commit 800f5ca

File tree

3 files changed

+65
-63
lines changed

3 files changed

+65
-63
lines changed

docs/DeveloperGuide.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -236,27 +236,34 @@ _{Explain here how the data archiving feature will be implemented}_
236236

237237
**Target user profile**:
238238

239-
* has a need to manage a significant number of contacts
240-
* prefer desktop apps over other types
241-
* can type fast
242-
* prefers typing to mouse interactions
243-
* is reasonably comfortable using CLI apps
239+
* John is a manager of a medical supplies company for 10 stores across the country
240+
* He is a tech-savvy manager that prefers typing compared to clicking since he is always in a rush to source for supplies
241+
* He has to retrieve suppliers contacts so that he can contact them to restock medical supplies when they run low at various stores.
242+
* These contacts are stored in an excel sheet, separated by different countries.
243+
* 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.
244+
* 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).
245+
* 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.
244246

245-
**Value proposition**: manage contacts faster than a typical mouse/GUI driven app
247+
**Value proposition**:
246248

249+
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.
247250

248251
### User stories
249252

250253
Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`
251254

252255
| Priority | As a …​ | I want to …​ | So that I can…​ |
253256
| -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- |
254-
| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App |
255-
| `* * *` | user | add a new person | |
256-
| `* * *` | user | delete a person | remove entries that I no longer need |
257-
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
258-
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
259-
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
257+
| `* * *` | potential user | save contacts of my suppliers and stores in same location | easily refer to the contacts and give them a call for updates |
258+
| `* * *` | potential user | save products in the same location as suppliers and stores | easily refer keep track of stocks in various stores and their suppliers |
259+
| `* * *` | new user | access the command list/user guide | easily refer to instructions for commands and usage instructions |
260+
| `* * *` | standard user | add a new supplier/product/store contacts entry | add entries to the list of suppliers/stores/inventory |
261+
| `* * *` | standard user | delete a supplier/supply/client contacts entry | remove entries that are not needed anymore |
262+
| `* * *` | standard user | find a supplier/product by name | locate relevant items without having to go through all the lists |
263+
| `* * *` | standard user | add remarks to a supplier entry | note down details that are specific to the supplier |
264+
| `* * *` | 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
265+
| `* * *` | standard user | list all my products/suppliers/stores | so that I can contact them and retrieve details regarding products/suppliers/stores easily |
266+
260267

261268
*{More to be added}*
262269

docs/UserGuide.md

Lines changed: 45 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,21 @@ and efficient Graphical User Interface interaction.
2424
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.<br>
2525
![Ui](images/Ui.png)
2626

27-
1. 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.<br>
27+
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.<br>
2828
Some example commands you can try:
2929

30-
* **`Create`** : Create a purchase order
30+
* **`view supplier supplierA`** : Displays all the information associated with supplierA e.g. address, contact, email, products sold by the supplier etc.
31+
32+
* **`add`**` p/PANADOL SUSP id/1 t/FEVER` : Adds product named `PANADOL SUSP` with product id of 1 with a `FEVER` tag to CLI-nic.
33+
34+
* **`delete`**` delete supplier 12` : Removes supplier at index 12 from the list of suppliers.
35+
36+
* **`clear`** : Deletes all contacts.
37+
38+
* **`exit`** : Exits the app.
39+
40+
* **`find PANADOL warehouse`** : Displays all the warehouses managed by the manager that has a product named PANADOL.
41+
3142

3243
1. Refer to the [Features](#features) below for details of each command.
3344

@@ -40,10 +51,10 @@ and efficient Graphical User Interface interaction.
4051
**:information_source: Notes about the command format:**<br>
4152

4253
* Words in `UPPER_CASE` are the parameters to be supplied by the user.<br>
43-
e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`.
54+
e.g. in `list TYPE`, `TYPE` is a parameter which can be used as `list products`.
4455

4556
* Items in square brackets are optional.<br>
46-
e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`.
57+
e.g `[LIST_TYPE] INDEX` can be used as `delete store 12` or as `delete 1`.
4758

4859
* Items with ``​ after them can be used multiple times.<br>
4960
e.g. `[t/TAG]…​` can be used as `t/friend`, `t/friend t/family` etc.
@@ -55,12 +66,16 @@ and efficient Graphical User Interface interaction.
5566

5667
### Viewing help : `help`
5768

58-
Shows a message explaning how to access the help page.
69+
Displays a list of available commands and their utility description.
70+
Narrows down to a specific command and its actual input format and samples if specified.
5971

6072
![help message](images/helpMessage.png)
6173

62-
Format: `help`
74+
Format: `help [COMMAND]`
6375

76+
Examples:
77+
* `help` Display entire list of commands and their description
78+
* `help add` Displays the detailed description, input format and an input example of add command.
6479

6580
### Adding a person: `add`
6681

@@ -76,7 +91,6 @@ Examples:
7691
* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01`
7792
* `add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal`
7893

79-
8094
### **Creating a purchase order : `create`**
8195
* Create a purchase order to track the purchase of medical products from a supplier to a store.
8296
* **Format**: `create sid/SUPPLIER_ID s/STORE_ID id/PRODUCT_ID…​ qty/PRODUCT_QUANTITY…​ date/EXPECTED_DELIVERED_DATE`
@@ -87,64 +101,48 @@ Examples:
87101
* **Examples**:
88102
* `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.
89103

90-
### Listing all persons : `list`
91-
92-
Shows a list of all persons in the address book.
93-
94-
Format: `list`
104+
### View a specific supplier / warehouse: `view`
95105

96-
### Editing a person : `edit`
106+
Shows a particular supplier/warehouse with their relevant information e.g. products associated with the supplier/warehouse, address etc.
97107

98-
Edits an existing person in the address book.
99-
100-
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`
101-
102-
* Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index **must be a positive integer** 1, 2, 3, …​
103-
* At least one of the optional fields must be provided.
104-
* Existing values will be updated to the input values.
105-
* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
106-
* You can remove all the person’s tags by typing `t/` without
107-
specifying any tags after it.
108+
Format: `view TYPE NAME`
109+
* The TYPE specified should be one of these values: supplier or warehouse
110+
* NAME specified is case-insensitive
108111

109112
Examples:
110-
* `edit 1 p/91234567 e/[email protected]` Edits the phone number and email address of the 1st person to be `91234567` and `[email protected]` respectively.
111-
* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags.
113+
* `view supplier supplierA` Displays all the information associated with supplierA e.g. address, contact, email, products sold by the supplier etc.
114+
* `view warehouse warehouseB` Displays all the information associated with warehouseB e.g. address, all the products stored in the warehouse etc.
112115

113-
### Finding medical products / suppliers: `find`
116+
### Finding medical product associated with warehouses / suppliers: `find`
114117

115-
Finds medical products / suppliers whose information contains any of the given keywords.
118+
Finds all suppliers or warehouses managed by the manager that sells the relevant medical products.
116119

117-
Format: `find TYPE KEYWORD`
120+
Format: `find PRODUCT TYPE`
118121

119-
* `TYPE` takes in either `product` / `supplier`.
120-
* `KEYWORD` is case-insensitive.
121-
* The search is case-insensitive.
122-
* Searches only the name and additional information of the products and suppliers.
123-
* Only full words will be matched e.g. `Han` will not match `Hans`.
122+
* PRODUCT and KEYWORD specified is case-insensitive.
123+
* The TYPE specified should be one of these values: warehouse / supplier
124124

125125
Examples:
126-
* `find product panadol` returns all medical products containing `panadol` in its name or additional description.
127-
* `find supplier Kent Ridge` returns all suppliers that are located in `Kent Ridge`.
128-
129-
### Removing a purchase order/store/product/supplier : `delete` [Coming soon]
126+
* `find PANADOL warehouse` displays all the warehouses managed by the manager that has a product named PANADOL.
127+
* `find masks supplier` displays all the suppliers that have stock for the input product.
130128

131-
Remove entries that are not needed anymore.
129+
### Deletes a particular warehouse or supplier : `delete`
132130

133-
**Format**: `delete [LIST_TYPE] INDEX`
131+
Delete entries of warehouses or suppliers that are not needed anymore.
134132

135-
* Deletes from the purchase order list by default at `INDEX`
136-
* The `LIST_TYPE` specified should be one of these values: **order/store/product/supplier**
137-
* The `INDEX` **must be a positive integer**, not exceeding the total number of items
133+
**Format**: `delete TYPE INDEX`
138134

135+
* The TYPE specified should be one of these values: warehouse / supplier.
136+
* The INDEX must be a positive integer, not exceeding the total number of items.
139137

140138
**Examples**
141139

142-
* `delete 1`: Removes the 1st order from the list of orders as no `LIST_TYPE` is specified.
143-
* `delete store 12`: Removes 12th store from the list of stores.
140+
* `delete warehouse 1` Removes the warehouse at index 1.
141+
* `delete supplier 12` Removes supplier at index 12 from the list of suppliers.
144142

145143
### Clearing all entries : `clear`
146144

147-
Clears all entries from the address book.
145+
Clears all entries (Suppliers and Warehouses) from the CLI-nic.
148146

149147
Format: `clear`
150148

@@ -156,7 +154,7 @@ Format: `exit`
156154

157155
### Saving the data
158156

159-
AddressBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
157+
CLI-nic data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
160158

161159
<br />
162160

@@ -165,7 +163,7 @@ AddressBook data are saved in the hard disk automatically after any command that
165163
## FAQ
166164

167165
**Q**: How do I transfer my data to another Computer?<br>
168-
**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 AddressBook home folder.
166+
**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 CLI-nic home folder.
169167

170168
--------------------------------------------------------------------------------------------------------------------
171169

docs/team/yuTing.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ title: Yu Ting's Project Portfolio Page
55

66
## Project: CLI-nic
77

8-
CLI-nic is a desktop application used to help medical product sales managers keep track of medical products and storage.
9-
The user interacts with it using a CLI, and it has a GUI created with JavaFX.
10-
It is optimized for these managers to update product conditions and access critical product information quickly via fast typing.
11-
It is written in Java, and has about 10 kLoC.
8+
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.
129

1310
Given below are my contributions to the project.
1411

0 commit comments

Comments
 (0)