Skip to content

Commit

Permalink
Merge pull request #296 from waseemingly/update-ug
Browse files Browse the repository at this point in the history
Update user guide format
  • Loading branch information
Mahidharah authored Nov 15, 2023
2 parents a2a90d6 + 4300e95 commit 814af8f
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 55 deletions.
128 changes: 73 additions & 55 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -381,14 +381,13 @@ Password changed successfully.

> Adds a new developer to the address book with the entered details.
**Format:**
**Format:**
`add-developer n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [d/DATE_JOINED] r/ROLE s/SALARY [pr/PROJECT_NAME]... g/GITHUB_ID rt/RATING`

**Constraints:**
**Constraints:**
1. `NAME` cannot be the same as another existing developer's name in the address book. Checks are case-insensitive.

2. `PROJECT_NAME` should be the exact name of an existing project if specified.
If project to be assigned does not exist, consider [adding the project](#add-project) first!
2. `PROJECT_NAME` should be the exact name of an existing project if specified.
If project to be assigned does not exist, consider [adding the project](#add-project) first!


**Optional Fields:**
Expand All @@ -397,12 +396,14 @@ Password changed successfully.
2. `DATE_JOINED` - if prefix d/ is missing in the command, the added developer's date joined field will automatically reflect today's date



* Note that for `RATING` values that are not in increments of 0.5 (eg. 3.2 or 3.8 instead of 3.0 or 3.5), the decimal portion
may not be reflected as clearly in the coloured stars.


**Example of usage:**
`add-developer n/John Doe p/98765432 e/[email protected] a/311, Clementi Ave 2, #02-25 r/Developer pr/AndroidApp pr/CustomWebsite s/4500 d/11-11-2023 g/johng rt/3`
`add-developer n/John Doe p/98765432 e/[email protected] a/311, Clementi Ave 2, #02-25 r/Developer
pr/AndroidApp pr/CustomWebsite s/4500 d/11-11-2023 g/johng rt/3`

Upon executing the above command,
* A new developer, `John Doe`, is added with the respective details.
Expand Down Expand Up @@ -431,19 +432,19 @@ Entered details of a developer incorrectly? You can always undo the action with

> Adds a new client to the address book, with the entered details.
**Format:**
**Format:**
`add-client n/NAME p/PHONE e/EMAIL a/ADDRESS r/ROLE [pr/PROJECT]... o/ORGANISATION do/DOCUMENT`

**Constraints:**
**Constraints:**
1. `NAME` cannot be the same as another existing client's name in the address book. Checks are case-insensitive.

2. `PROJECT_NAME` should be the exact name of an existing project if specified.
If project to be assigned does not exist, consider [adding the project](#add-project) first!
If project to be assigned does not exist, consider [adding the project](#add-project) first!

**Optional Fields:**
1. `PROJECT_NAME` - if prefix pr/ is missing in the command, the added developer will not be assigned to any projects.
**Optional Fields:**
1. `PROJECT_NAME` - if prefix pr/ is missing in the command, the added developer will not be assigned to any projects.

**Example of usage:**
**Example of usage:**
`add-client n/Jack Doe p/98765432 e/[email protected] a/311, Clementi Ave 2, #02-25 r/Developer pr/AndroidApp pr/CustomWebsite o/Google do/google.com`

Upon executing the above command,
Expand Down Expand Up @@ -474,13 +475,13 @@ Entered details of a client incorrectly? You can always undo the action with the

> Adds a new project and its relevant deadlines to the address book, with the entered details.
**Format:**
**Format:**
`add-project n/NAME dr/DESCRIPTION [dl/DEADLINE_DATE,DEADLINE_DESCRIPTION,PRIORITY,IS_DONE]...`

**Constraints:**
**Constraints:**
1. `NAME` cannot be the same as another existing project's name in the address book. Checks are case-insensitive.

**Optional Fields:**
**Optional Fields:**
1. `DEADLINE` - if prefix dl/ is missing in the command, the added project will not have any deadlines assigned to it.

**Example of usage:**
Expand Down Expand Up @@ -843,18 +844,22 @@ for each client successfully added.
--------------------------------------------------------------------------------------------------------------------
#### Find developer details : `find-developer`

Finds the details of an existing developer in the address book.
> Finds the details of an existing developer in the address book.
Format: `find-developer [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [d/DATE_JOINED] [r/ROLE] [s/SALARY] [pr/PROJECT_NAME] [g/GITHUB_ID] [rt/RATING]`
**Format:**
`find-developer [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [d/DATE_JOINED]
[r/ROLE] [s/SALARY] [pr/PROJECT_NAME] [g/GITHUB_ID] [rt/RATING]`

**Additional notes:**
* Finds for developers based on the attributes provided.
* At least one of the optional fields must be provided.
* Existing values will be compared to the input values, and the results will include any items that match the provided
criteria.
* You can combine multiple attributes for a more specific search.
* The search is case-insensitive, so you can use any case for the search criteria.

Example of usage: `find-developer pr/2103T rt/5.0`
**Example of usage:**
`find-developer pr/2103T rt/5.0`

* Prints developers in 2103/T project with a 5-star rating.

Expand All @@ -871,18 +876,21 @@ followed by the matching developer's details in the GUI.
--------------------------------------------------------------------------------------------------------------------
#### Find client details : `find-client`

Finds the details of an existing client in the address book.
> Finds the details of an existing client in the address book.
Format: `find-client [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [o/ORGANISATION] [pr/PROJECT] [d/DOCUMENT]`
**Format:**
`find-client [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [o/ORGANISATION] [pr/PROJECT] [d/DOCUMENT]`

**Additional notes:**
* Finds for clients based on the attributes provided.
* At least one of the optional fields must be provided.
* Existing values will be compared to the input values, and the results will include any items that match the provided
criteria.
* You can combine multiple attributes for a more specific search.
* The search is case-insensitive, so you can use any case for the search criteria.

Example of usage: `find-client o/Google r/Senior developer`
**Example of usage:**
`find-client o/Google r/Senior developer`

* Prints clients from Google with the Senior developer role.

Expand All @@ -899,18 +907,19 @@ followed by the matching clients' details in the GUI.
--------------------------------------------------------------------------------------------------------------------
#### Find project details : `find-project`

Finds the details of an existing project in the address book.
> Finds the details of an existing project in the address book.
Format: `find-project [pr/PROJECT_NAME] [dr/DESCRIPTION] [dl/DEADLINE]`
**Format:** `find-project [pr/PROJECT_NAME] [dr/DESCRIPTION] [dl/DEADLINE]`

**Additional notes:**
* Finds for projects based on the attributes provided.
* At least one of the optional fields must be provided.
* Existing values will be compared to the input values, and the results will include any items that match the provided
criteria.
* You can combine multiple attributes for a more specific search.
* The search is case-insensitive, so you can use any case for the search criteria.

Example of usage: `find-project pr/JuiceApp`
**Example of usage:** `find-project pr/JuiceApp`

* Print projects with the name JuiceApp.

Expand All @@ -926,14 +935,15 @@ followed by the matching project's details in the GUI.
--------------------------------------------------------------------------------------------------------------------
#### Find deadlines : `find-deadline`

Finds deadlines in project tab based on date and/or priority.
> Finds deadlines in project tab based on date and/or priority.
Format: `find-deadline [d/DATE] [pri/PRIORITY]`
**Format:** `find-deadline [d/DATE] [pri/PRIORITY]`

**Additional notes:**
* When finding deadlines based on `DATE`, the project tab displays deadlines due before or on the specified date.
* When finding deadlines based on `PRIORITY`, only that priority (`HIGH`,`MEDIUM`, `LOW`) deadlines are shown.

Example of usage: `find-deadline d/20-11-2023 pri/MEDIUM`
**Example of usage:** `find-deadline d/20-11-2023 pri/MEDIUM`

* Shows deadlines due before or on `20-11-2023` and with `MEDIUM` priority.

Expand All @@ -952,17 +962,17 @@ These are the 3 projects with matching information.
--------------------------------------------------------------------------------------------------------------------
#### List information : `list`

Shows a list of all developers in the address book.
> Shows a list of all developers in the address book.
Format: `list-TYPE`
**Format:** `list-TYPE`

* Lists the specific type of thing you are asking.

Example of usage:`list-developer`
**Example of usage:** `list-developer`

* Lists all the developers.

Acceptable parameters:
**Acceptable parameters**:

* `developer` to list the developers
* `client` to list the clients
Expand All @@ -985,10 +995,11 @@ Listed all developers
--------------------------------------------------------------------------------------------------------------------
#### Add developer roles : `add-developer-role`

Adds new developer roles into the system.
> Adds new developer roles into the system.
Format: `add-developer-role ROLE_NAME`
**Format:** `add-developer-role ROLE_NAME`

**Additional notes:**
* Adds the ROLE_NAME to list of developer roles.
* There are 3 preset roles in the list of roles: `Frontend Developer`,`Backend Developer`,`Developer`.
* You will not be able to add a developer to a role that does not exist in this list of developer roles.
Expand All @@ -1001,7 +1012,7 @@ If you wish to check what roles are there, you can key in `delete-developer-role
random>` should not be an existing role.
</div>

Example of usage: `add-developer-role Tester`
**Example of usage:** `add-developer-role Tester`

* Adds the Tester role to list of developer roles.
* You can now add developers with Tester as their roles.
Expand All @@ -1017,10 +1028,11 @@ New role for developer added: Tester
--------------------------------------------------------------------------------------------------------------------
#### Add client roles : `add-client-role`

Adds new client roles into the system.
> Adds new client roles into the system.
Format: `add-client-role ROLE_NAME`
**Format:** `add-client-role ROLE_NAME`

**Additional notes:**
* Adds the ROLE_NAME to list of client roles.
* There are 4 preset roles in the list of roles: `HR`,`Manager`,`Developer`,`Client`.
* You will not be able to add a client to a role that does not exist in this list of client roles.
Expand All @@ -1033,7 +1045,7 @@ If you wish to check what roles are there, you can key in `delete-client-role <a
random>` should not be an existing role.
</div>

Example of usage: `add-client-role Boss`
**Example of usage:** `add-client-role Boss`

* Adds the Boss role to list of developer roles.
* You can now add clients with Boss as their roles.
Expand All @@ -1053,16 +1065,17 @@ New role for client added: Boss
--------------------------------------------------------------------------------------------------------------------
#### Delete developer roles : `delete-developer-role`

Delete developer roles from the system.
> Delete developer roles from the system.
Format: `delete-developer-role ROLE_NAME`
**Format:** `delete-developer-role ROLE_NAME`

**Additional notes:**
* Deletes the ROLE_NAME to list of developer roles.
* There are 3 preset roles in the list of roles: `Frontend Developer`,`Backend Developer`,`Developer`. These roles
cannot be deleted.
* You will not be able to delete a developer role if there are developers in the list with that role.

Example of usage: `delete-developer-role UI Manager`
**Example of usage:** `delete-developer-role UI Manager`

* Deletes the UI Manager from the list of developer roles.
* You can no longer add developers with UIDesigner as their roles.
Expand All @@ -1078,15 +1091,16 @@ Role for developers deleted: UIDesigner
--------------------------------------------------------------------------------------------------------------------
#### Delete client roles : `delete-client-role`

Delete client roles from the system.
> Delete client roles from the system.
Format: `delete-client-role ROLE_NAME`
**Format:** `delete-client-role ROLE_NAME`

**Additional notes:**
* Deletes the ROLE_NAME to list of developer roles.
* There are 4 preset roles in the list of roles: `HR`,`Manager`,`Developer`,`Client`. These roles cannot be deleted.
* You will not be able to delete a client role if there are clients in the list with that role.

Example of usage: `delete-client-role Boss`
**Example of usage:** `delete-client-role Boss`

* Deletes the Boss from the list of developer roles.
* You can no longer add clients with Boss as their roles.
Expand All @@ -1108,13 +1122,14 @@ Role for clients deleted: Boss
--------------------------------------------------------------------------------------------------------------------
#### Mark project deadline as done : `mark-deadline`

Marks the indicated deadline for the project as done.
> Marks the indicated deadline for the project as done.
Format: `mark-deadline PROJECT_INDEX DEADLINE_INDEX`
**Format:** `mark-deadline PROJECT_INDEX DEADLINE_INDEX`

**Additional notes:**
* `PROJECT_INDEX` and `DEADLINE_INDEX` must be valid indexes of existing projects and deadlines.

Example of usage: `mark-deadline 2 1`
**Example of usage:** `mark-deadline 2 1`

* Marks the 1st deadline of the 2nd project in the currently displayed project list as done.

Expand All @@ -1129,13 +1144,14 @@ The deadline has been marked as completed!
--------------------------------------------------------------------------------------------------------------------
#### Mark project deadline as undone : `unmark-deadline`

Marks the indicated deadline for the project as undone.
> Marks the indicated deadline for the project as undone.
Format: `unmark-deadline PROJECT_INDEX DEADLINE_INDEX`
**Format:** `unmark-deadline PROJECT_INDEX DEADLINE_INDEX`

**Additional notes:**
* `PROJECT_INDEX` and `DEADLINE_INDEX` must be valid indexes of existing projects and deadlines.

Example of usage: `unmark-deadline 2 1`
**Example of usage:** `unmark-deadline 2 1`

* Marks the 1st deadline of the 2nd project in the currently displayed project list as undone.

Expand All @@ -1154,16 +1170,17 @@ The deadline has been marked as undone!

#### Undo : `undo`

Undo the previous command you entered.
> Undo the previous command you entered.
Format: `undo`
**Format:** `undo`

**Additional notes:**
* Each time you type undo, you move back one stage.
* If you made 5 changes, and you wish to undo, you can enter the command `undo` 5 times. The system will remind you when
you cannot undo anymore.
* `undo` works for all `edit`, `add-TYPE` and `delete` commands.

Example of usage: `undo`
**Example of usage:** `undo`

* You just deleted a new developer, and you wish to `undo`.

Expand All @@ -1186,17 +1203,18 @@ Projects: CustomWebsite AndroidApp
--------------------------------------------------------------------------------------------------------------------
#### Redo : `redo`

Redo the previous command you undid.
> Redo the previous command you undid.
Format: `redo`
**Format:** `redo`

**Additional notes:**
* Each time you type redo, you move forward one stage.
* You can only `redo` if you have `undo` before.
* If you undid 5 changes, and you wish to redo, you can enter the command `redo` 5 times. The system will remind you when
you cannot redo anymore.
* `redo` works for all `edit`, `add-TYPE` and `delete` commands.

Example of usage:
**Example of usage:**

* You just `undo` delete developer, and you wish to `redo` to add it back.
When command succeeds, CLI shows:
Expand Down
1 change: 1 addition & 0 deletions pword.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
730288490

0 comments on commit 814af8f

Please sign in to comment.