Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update User Guide #170

Merged
merged 1 commit into from
Oct 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 43 additions & 37 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

# WedLinker User Guide

WedLinker is a **desktop app for managing contacts, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB3 can get your contact management tasks done faster than traditional GUI apps.
WedLinker is a **desktop app for managing contacts, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). </br>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I remember prof saying something like the benefits of GUI being a bit vague, maybe we should expand on this?

If you can type fast, WedLinker can get your contact management tasks done faster than traditional GUI apps.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this can still be more user-centric and targeted towards wedding planners, right now it still seems a bit generic? Maybe can talk about how its designed specifically for wedding planners to efficiently plan weddings


<!-- * Table of Contents -->
<page-nav-print />
Expand All @@ -15,17 +16,21 @@ WedLinker is a **desktop app for managing contacts, optimized for use via a Lin

## Quick start

1. Ensure you have Java `17` or above installed in your Computer.
1. Ensure you have `Java 17` or above installed in your Computer. If you do not have Java 17 installed, or you are unsure, refer to the guide below.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember Dr. Wee asking "How can users know whether they have Java 17?" -- Maybe can add instruction to "Open terminal and run java -version, or something similar?

1. Download `Java 17` from the official website: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
2. Select the installation package based on your Operating System. For Apple users select macOS, for Windows users select Windows.
3. Follow the instruction guide to install Java on your device. For more information use this guide: https://docs.oracle.com/en/java/javase/23/install/overview-jdk-installation.html

1. Download the latest `.jar` file from [here](https://github.com/se-edu/addressbook-level3/releases).
2. Download the latest version of WedLinker from [here](https://github.com/AY2425S1-CS2103T-F15-4/tp/releases/). Select `WedLinker.jar` to begin the download.
![release.png](images/release.png)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that you added an image of the release page so that the user knows if it's right.


1. Copy the file to the folder you want to use as the _home folder_ for your AddressBook.
3. Copy the file to the folder you want to use as the _home folder_ for your WedLinker.

1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar addressbook.jar` command to run the application.<br>
4. Open WedLinker by double clicking the program file, `WedLinker.jar`.<br>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe can also have alternative opening instructions for cding into the file, I think sometimes if JAR does not work then user needs to use cd method - can have a troubleshooting section ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the recommended way even for everyday users to double-click? I'm not too sure about it, correct me if I'm wrong!

A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.<br>
![Ui](images/Ui.png)

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>
5. 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>
Some example commands you can try:

* `list` : Lists all contacts.
Expand All @@ -38,12 +43,11 @@ WedLinker is a **desktop app for managing contacts, optimized for use via a Lin

* `exit` : Exits the app.

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

--------------------------------------------------------------------------------------------------------------------

# Features
## General Features

<box type="info" seamless>

Expand All @@ -58,37 +62,47 @@ WedLinker is a **desktop app for managing contacts, optimized for use via a Lin
* Items with `…`​ after them can be used multiple times including zero times.<br>
e.g. `[t/TAG]…​` can be used as ` ` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.

* Commands in WedLinker uses prefix to specify the parameters, the prefixes are stated as such:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe typo, "Commands in WedLinker use prefixes to..."

* n/ Name
* a/ Address
* p/ Phone Number
* e/ Email
* t/ Tag
* w/ Wedding
* tk/ Task

* Parameters can be in any order.<br>
e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.

* Extraneous parameters for commands that do not take in parameters (such as `help`, `list`, `exit` and `clear`) will be ignored.<br>
e.g. if the command specifies `help 123`, it will be interpreted as `help`.

* If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
</box>
</box>

## General Features

### Viewing help : `help`

Shows a message explaning how to access the help page.

//Reminder to update the link of help
![help message](images/helpMessage.png)

Format: `help`

### Listing all Persons : `list`

Shows a list of all saved [Persons](#adding-a-person-add) in the WedLinker.
Shows a list of all saved [Persons](#person-features) in the WedLinker.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like how you linked this to the Person features section


Format: `list`

### Listing all Weddings : `list-weddings`

Shows a list of all [Weddings](#adding-a-wedding--create-wedding) in the WedLinker.
Shows a list of all [Weddings](#wedding-features) in the WedLinker.

### Listing all Tasks : `list-tasks`

Shows a list of all [Tasks](#creating-a-task--create-task) in the WedLinker
Shows a list of all [Tasks](#task-features) in the WedLinker

### Locating contacts by any field, similar to a search function: `find`

Expand All @@ -100,21 +114,14 @@ Format: `find PREFIX KEYWORD [KEYWORD]…​`
* The search will return partial matches and full matches
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`

Examples of Prefixes:
* n/ Name
* a/ Address
* p/ Phone Number
* e/ Email
* t/ Tag
* w/ Wedding
* tk/ Task

Examples:
* `find n/John` returns `john` and `John Doe`
* `find n/alex david` returns `Alex Yeoh`, `David Li`<br>
![result for 'find alex david'](images/findAlexDavidResult.png)
* `find t/Friends` returns all Contacts tagged with Friends
* `find w/Amy's Wedding` returns all Contacts involved with Amy's Wedding
![result for 'find n/alex david'](images/findCommandName.png)
* `find t/friends` returns all Contacts tagged with Friends <br>
![result for `find t/friends](images/findCommandTag.png)
* `find w/Amy's Wedding` returns all Contacts involved with Amy's Wedding <br>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we change this to Casey instead to match the image?

![result for 'find w/Casey'](images/findCommandWedding.png)

### Clearing all entries : `clear`

Expand All @@ -130,17 +137,17 @@ Format: `exit`

### Saving the data

AddressBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
WedLinker data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

### Editing the data file

AddressBook data are saved automatically as a JSON file `[JAR file location]/data/addressbook.json`. Advanced users are welcome to update data directly by editing that data file.
WedLinker data are saved automatically as a JSON file `[JAR file location]/data/WedLinker.json`. Advanced users are welcome to update data directly by editing that data file.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...Is this true? Did we change it to be saved as WedLinker.json?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is still addressbook.json


<box type="warning" seamless>

**Caution:**
If your changes to the data file makes its format invalid, AddressBook will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.<br>
Furthermore, certain edits can cause the AddressBook to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
If your changes to the data file makes its format invalid, WedLinker will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.<br>
Furthermore, certain edits can cause the WedLinker to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
</box>

## Person Features
Expand All @@ -157,8 +164,8 @@ Format: `add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​ [w/WEDD
</box>

Examples:
* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01`
* `add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal`
* `add n/John Doe p/98765432 e/[email protected] a/XYZ Floral Services`
* `add n/Betsy Crowe e/[email protected] a/ABC Photo Studio p/1234567 t/Photographer`

### Editing a person : `edit`

Expand Down Expand Up @@ -186,9 +193,9 @@ Format: `delete INDEX`

Examples:
* `list` followed by `delete 2` deletes the 2nd person in the address book.
* `find Betsy` followed by `delete 1` deletes the 1st person in the results of the `find` command.
* `find n/Betsy` followed by `delete 1` deletes the 1st person in the results of the `find` command.

### Tag Features
## Tag Features

### Adding a tag : `create-tag`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On line 216 below, maybe should be "Tag a specified contact based on their INDEX with a Tag" just to make sure it's clear what index is referring to

Expand Down Expand Up @@ -233,7 +240,7 @@ Format: `delete-tag t/TAGNAME [f/]`
* The `Tag` cannot be assigned to any contacts.
* If the `Tag` is in used, you can use `f/` to force the deletion of the `Tag` and unassign this tag from all contacts.

### Wedding Features
## Wedding Features

### Adding a Wedding : `create-wedding`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for line 265 since I can't add a comment there - should we give an example of how the force tag is used?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 251 - maybe can change to "the weddingname should be alphanumeric" rather than "is alphanumeric"?


Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In line 252, maybe should be "... there should not be/there cannot be any duplicated Weddings."

Expand Down Expand Up @@ -287,7 +294,7 @@ Format: `delete-wedding w/WEDDINGNAME [f/]`
* The no contacts should be assigned to the `Wedding` before it is deleted.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed in previous review but should this line just say "No contacts should be ..."

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo/ grammar error here - "There should not be contacts assigned to.."/"There should be no"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In line 273 above, maybe should have "Edits the specific Wedding at the INDEX in the view that lists weddings", because 'list-weddings' view might be too close to the actual command and too technical? Not sure about this

* If there are still contacts assigned, you can use `f/` to force the deletion of the `Wedding` and unassign all contacts.

### Task Features
## Task Features

### Creating a Task : `create-task`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we will need to specify the different task types and their respective commands/ keywords

Expand All @@ -301,7 +308,6 @@ Deletes a `Task` from WedLinker

Format: `delete-task INDEX`


### Assigning a Task to a contact : `assign-task` **(WIP)**

### Unassigning a Task from a contact : `unassign-task` **(WIP)**
Expand All @@ -311,7 +317,7 @@ Format: `delete-task INDEX`
## FAQ

**Q**: How do I transfer my data to another Computer?<br>
**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.
**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 WedLinker home folder.

--------------------------------------------------------------------------------------------------------------------

Expand Down
Binary file modified docs/images/Ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/findCommandName.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/findCommandTag.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/findCommandWedding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/helpMessage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/release.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.