diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 80e214bba64..43a26730ac0 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -22,7 +22,7 @@ title: User Guide
_(For users who just want to see the table of contents, click [here](#table-of-contents).)_
To begin using this guide, ensure you have [installed Jobby](#installation).
- Once this is done, go to the [tutorial](#jobby-tutorial--for-new-users-) section to get started on the basic features of Jobby.
+ Once this is done, go to the [tutorial](#jobby-tutorial-for-new-users) section to get started on the basic features of Jobby.
When you become more familiar with the basic features, you can move on to understand [how Jobby's commands are structured and how to use autocomplete to your advantage](#using-jobby).
@@ -105,10 +105,10 @@ Jobby comes equipped with a user interface that provides visual feedback to you.
| Component | Description |
|---------------------|------------------------------------------------------------------------------------------------------------|
-| Command Box | You will enter your [commands](#glossary) along with its input here. |
+| Command Box | You will enter your commands along with its input here. |
| Result Display | Displays the results of your commands.
Any error messages will also be displayed here. |
| Contact Details | Contains information related to the [contact](#glossary) like name, phone number, email etc. |
-| Application Details | Contains information related to the [internship application](#glossary) details like status, deadline etc. |
+| Application Details | Contains information related to the internship application details like status, deadline etc. |
--------------------------------------------------------------------------------------------------------------------
@@ -322,8 +322,10 @@ The `add` command allows you to create contacts to track details about the organ
```sh
add --org --name NAME [--id ID] [--phone NUMBER] [--email EMAIL] [--url URL] [--address ADDRESS] [--tag TAG]...
```
+Adds an organization contact with the details given to the command.
* If an `ID` is not specified, one will be automatically generated.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
@@ -350,10 +352,11 @@ add --org --name NAME [--id ID] [--phone NUMBER] [--email EMAIL] [--url URL] [--
```sh
add --rec --name NAME [-id ID] [--oid ORG_ID] [--phone NUMBER] [--email EMAIL] [--url URL] [--address ADDRESS] [--tag TAG]...
```
+Adds a recruiter contact with the details given to the command.
-* When adding in parameters, be aware of the [accepted parameters](#appendix-a-acceptable-values-for-parameters).
* If an `ID` is not specified, one will be automatically generated.
-* If a Recruiter is associated to an Organization in the contacts list, make sure you include `--oid` and pass in the `ID` of the Organization that is associated with the Recruiter you are adding.
+* To link a Recruiter to an Organization in the contacts list, make sure you include `--oid` and pass in the `ID` of the Organization you want to link to.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Sample demonstration
* If you execute the command: `add --rec --name Ryan Koh --oid job_seeker_plus`, you should see a new Recruiter being added to the bottom of the contacts list.
@@ -391,6 +394,9 @@ add --rec --name NAME [-id ID] [--oid ORG_ID] [--phone NUMBER] [--email EMAIL] [
```sh
edit INDEX/ID [--name NAME] [--id ID] [--phone PHONE] [--email EMAIL] [--url URL] [--address ADDRESS] [--tag TAG]...
```
+Edits the given contact according to the parameters given.
+* You can supply more than one parameter to change multiple details of a contact in one command.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
@@ -404,7 +410,7 @@ edit INDEX/ID [--name NAME] [--id ID] [--phone PHONE] [--email EMAIL] [--url URL
| Command | Reason |
|-----------------------------------------|-------------------------------------------------------------------------------------|
-| `edit google --phone 8124!@#$` | `--phone` has an [invalid parameter](appendix-a--acceptable-values-for-parameters) |
+| `edit google --phone 8124!@#$` | `--phone` has an [invalid parameter](#appendix-a-acceptable-values-for-parameters) |
### Applying to organizations - `apply`
Job Application
@@ -416,6 +422,8 @@ edit INDEX/ID [--name NAME] [--id ID] [--phone PHONE] [--email EMAIL] [--url URL
```sh
apply INDEX/ID --title TITLE [--description DESCRIPTION] [--by DEADLINE: DD-MM-YYYY] [--stage APPLICATION STAGE: resume | online assessment | interview] [--status STATUS: pending | offered | accepted | turned down]
```
+Applies to the given organization by creating a job application associated with it.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
@@ -443,6 +451,10 @@ apply INDEX/ID --title TITLE [--description DESCRIPTION] [--by DEADLINE: DD-MM-Y
edit --application INDEX [--title TITLE] [--description DESCRIPTION] [--by DEADLINE] [--status STATUS] [--stage STAGE]
```
+Edits the given job application according to the parameters given.
+* You can supply more than one parameter to change multiple details of an application in one command.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
+
##### Valid examples
| Command | Reason |
@@ -464,6 +476,8 @@ edit --application INDEX [--title TITLE] [--description DESCRIPTION] [--by DEADL
:warning: The deletion of data is permanent and there is no way to undo it.
+The `delete` command allows you to delete contacts and job applications if they are no longer relevant. To learn more about deleting a contact or application, check out the sections below.
+
#### Deleting contacts - `delete`
:trophy: How to delete contacts and job applications in Jobby Intermediate
@@ -472,7 +486,9 @@ edit --application INDEX [--title TITLE] [--description DESCRIPTION] [--by DEADL
```sh
delete INDEX/ID [--recursive]
```
+Deletes the contact at the given `INDEX` or `ID`.
* `--recursive` flag deletes the associated recruiter contacts and internship applications if the contact to delete is an organization.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
@@ -496,6 +512,8 @@ delete INDEX/ID [--recursive]
```sh
delete --application INDEX
```
+Deletes the job application at the given `INDEX`.
+* If you wish to know more about the requirements for each parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
@@ -538,32 +556,33 @@ Lists all contacts. If you provide a parameter, the contacts listed will be only
### Searching contacts - `find`
Organization Recruiter
-:trophy: How to find organizations and recruiters by name or id Beginner
+:trophy: How to find organizations and recruiters by keyword Beginner
##### Format
```sh
-find KEYWORD/ID...
+find KEYWORD...
```
-* This will return any Organization or Recruiter that contains the given keywords.
+
+Finds the contacts whose `NAME` or `ID` contains the given `KEYWORD`.
+* You can supply multiple keywords as long as they are separated by [whitespace](#glossary).
+* If you wish to know more about the requirements for the parameter, check out the [given appendix](#appendix-a-acceptable-values-for-parameters).
##### Valid examples
| Command | Reason |
|-------------------|-----------------------------------------------------------------------------------------------------|
-| `find jo` | Finds Contacts and Applications whose **KEYWORD/ID** contains the [substring](#Glossary) "jo". |
-| `find 1231` | Finds Contacts and Applications whose **KEYWORD/ID** contains the substring "1231". |
-| `find alex david` | Finds Contacts and Applications whose **KEYWORD/ID** contains the substring "alex" or "david". |
+| `find jo` | Finds contacts whose `NAME` or `ID` contains the [substring](#glossary) "jo". |
+| `find 1231` | Finds contacts whose `NAME` or `ID` contains the substring "1231". |
+| `find alex david` | Finds contacts whose `NAME` or `ID` contains the substring "alex" or "david". |
##### Rules
Intermediate
-* The search is case-insensitive. e.g `hans` will match `Hans`
-* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`
+* The search is case-insensitive. e.g `hans` will match `Hans` and `1231` will match `id_1231`.
+* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`.
* You can match partial keywords. e.g. searching for `ha` will match with `hamburger`.
-* Partial IDs can match the entire ID. e.g. searching for `1234` will match with `id_12345`.
-* Persons matching at least one keyword will be returned (i.e. `OR` search)
- e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`
-* Can match with multiple ids `12345 id_51231` will match with `id_12345` and `id_51231`
+* Contacts matching at least one keyword will be returned (i.e. `OR` search)
+ e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`.
### Sorting data - `sort`
@@ -617,7 +636,9 @@ Sorts contacts or job applications for you by the specified flag.
* To order your Job Applications by order of earliest deadline, you can use the command `sort --by`.
* In the Application Details section of Jobby, you should see your Job Applications now ordered by most urgent deadline.
-![Sort Deadline](images/sort_deadline.png)
+
+
+
##### Valid examples
@@ -751,8 +772,8 @@ Exits the program.
## Glossary
-| Term | Definition |
-|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Term | Definition |
+|------|------------|
| **Top Level Domain** | A Top Level Domain (TLD) is the part of the website address where it comes after the last dot (i.e. ".com", ".org", ".net") and before the first slash. (E.g. www.example.**com**/path). |
| **Whitespace** | In the context of this application, a whitespace is any number of spaces or tabs that is in the input. |
| **Contact** | A contact in Jobby is can be an **organization** or a **recruiter**. |
@@ -763,23 +784,23 @@ Exits the program.
### Appendix A: Acceptable values for parameters
-| Parameter | Used by | Requirements | Examples |
-|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
-| `INDEX` | [`edit`](#editing-contacts---edit)
[`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application)
[`delete`](#deleting-contacts---delete)
[`delete --application`](#deleting-job-applications---delete---application) | A valid index can accept any positive integer up to the number of items in the contact or job application list where applicable. | `1`
`10` |
-| `NAME` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid name can accept any non-empty value. | `Ryan Koh`
`小明` |
-| `ID` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit)
[`apply`](#applying-to-organizations---apply)
[`delete`](#deleting-contacts---delete) | A valid ID has to start with a letter.
It can consist of alphanumeric and basic symbols (i.e. `a-z`, `A-Z`, `0-9`, `-`, `_`) | `woogle123`
`ryan_soc-rec` |
-| `NUMBER` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid phone number can consist of only numbers with no whitespace.
It must be at least 3 digits. | `999`
`91824137` |
-| `EMAIL` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid email should be in the form of `local-part@domain` where the `local-part` and `domain` must be separated by a single **@**.
The `local-part` can consist of any character except whitespace.
The `domain` name can comprise of one or more labels separated by periods, and each label can include any character except whitespace. The last `domain` label must be a minimum of two characters long. | `ryankoh@nus`
`ryan-koh@nus.edu.sg` |
-| `URL` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid url should include a part in the form of `domain.tld` where the `domain` and the `tld` (top level domain) must be separated by a period. | `example.com`
`example.more.com`
`https://example.com`
`example.com/more` |
-| `ADDRESS` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid address can accept any non-empty value.
For a contact, it designates its physical address. | `21 Lower Kent Ridge Rd` |
-| `TAG` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid tag can consist of only alphanumeric characters. | `internship`
`network`
`parttime`
`jobPortal` |
-| `ORG_ID` | [`add --rec`](#adding-recruiters---add---rec) | A valid organization ID is subject to the same requirements as the ID parameter.
It must belong to an Organization contact in the address book. | `woogle123`
`meta_sg-1` |
-| `TITLE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid title can accept multiple words separated with spaces, as long as the characters are alphanumeric. | `Software Engineer`
`Level 3 Engineer` |
-| `DESCRIPTION` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid description can accept any non-empty value. | `Senior Role`
`Hourly rate: $25` |
-| `DEADLINE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid deadline should be a date in the form of `DD-MM-YYYY`.
The day (`DD`) and month (`MM`) can be either single or double digits. | `09-02-2022`
`9-2-2022`
`19-11-2022` |
-| `STAGE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid job application stage can accept only one of the three values: `resume`, `online assessment`, `interview`.
The values are ranked in the order shown. | `resume`
`online assessment`
`interview` |
-| `STATUS` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid job application status can accept only one of the four values: `pending`, `offered`, `accepted`, `turned down`.
The values are ranked in the order shown. | `pending`
`offered`
`accepted`
`turned down` |
-| `KEYWORD` | [`find`](#searching-contacts---find) | A valid keyword is a single word that can accept any non-empty value. | `software`
`Ryan` |
+| Parameter | Used by | Requirements | Examples |
+|-----------|---------|--------------|----------|
+| `INDEX` | [`edit`](#editing-contacts---edit)
[`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application)
[`delete`](#deleting-contacts---delete)
[`delete --application`](#deleting-job-applications---delete---application) | A valid index can accept any positive integer up to the number of items displayed in the contact or job application list where applicable. | `1`
`10` |
+| `NAME` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid name can accept any non-empty value. | `Ryan Koh`
`小明` |
+| `ID` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit)
[`apply`](#applying-to-organizations---apply)
[`delete`](#deleting-contacts---delete) | A valid ID has to start with a letter.
It can consist of alphanumeric and basic symbols (i.e. `a-z`, `A-Z`, `0-9`, `-`, `_`) | `woogle123`
`ryan_soc-rec` |
+| `NUMBER` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid phone number can consist of only numbers with no whitespace.
It must be at least 3 digits. | `999`
`91824137` |
+| `EMAIL` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid email should be in the form of `local-part@domain` where the `local-part` and `domain` must be separated by a single **@**.
The `local-part` can consist of any character except whitespace.
The `domain` name can comprise of one or more labels separated by periods, and each label can include any character except whitespace. The last `domain` label must be a minimum of two characters long. | `ryankoh@nus`
`ryan-koh@nus.edu.sg` |
+| `URL` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid url should include a part in the form of `domain.tld` where the `domain` and the `tld` (top level domain) must be separated by a period. | `example.com`
`example.more.com`
`https://example.com`
`example.com/more` |
+| `ADDRESS`| [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid address can accept any non-empty value.
For a contact, it designates its physical address. | `21 Lower Kent Ridge Rd` |
+| `TAG` | [`add --org`](#adding-organizations---add---org)
[`add --rec`](#adding-recruiters---add---rec)
[`edit`](#editing-contacts---edit) | A valid tag can consist of only alphanumeric characters. | `internship`
`network`
`parttime`
`jobPortal` |
+| `ORG_ID` | [`add --rec`](#adding-recruiters---add---rec) | A valid organization ID is subject to the same requirements as the ID parameter.
It must belong to an Organization contact in the address book. | `woogle123`
`meta_sg-1` |
+| `TITLE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid title can accept multiple words separated with spaces, as long as the characters are alphanumeric. | `Software Engineer`
`Level 3 Engineer` |
+| `DESCRIPTION` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid description can accept any non-empty value. | `Senior Role`
`Hourly rate: $25` |
+| `DEADLINE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid deadline should be a date in the form of `DD-MM-YYYY`.
The day (`DD`) and month (`MM`) can be either single or double digits. | `09-02-2022`
`9-2-2022`
`19-11-2022` |
+| `STAGE` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid job application stage can accept only one of the three values: `resume`, `online assessment`, `interview`.
The values are ranked in the order shown. | `resume`
`online assessment`
`interview` |
+| `STATUS` | [`apply`](#applying-to-organizations---apply)
[`edit --application`](#editing-job-applications---edit---application) | A valid job application status can accept only one of the four values: `pending`, `offered`, `accepted`, `turned down`.
The values are ranked in the order shown. | `pending`
`offered`
`accepted`
`turned down` |
+| `KEYWORD` | [`find`](#searching-contacts---find) | A valid keyword is a single word that can accept any non-empty value. | `software`
`Ryan` |
--------------------------------------------------------------------------------------------------------------------