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

Change ug for consistency #235

Merged
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
84 changes: 48 additions & 36 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ This guide will walk you through HallPointer’s main features and show you step
- [Exiting the program : `exit`](#exiting-the-program--exit)
- [Saving the data](#saving-the-data)
- [Editing the data file](#editing-the-data-file)
- [Archiving data files `[coming in v2.0]`](#archiving-data-files-coming-in-v20)
- [FAQ](#faq)
- [Known issues](#known-issues)

Expand Down Expand Up @@ -78,19 +77,19 @@ Refer to the [Command Summary](#command-summary) section below for a quick overv

## Command Summary

| Action | Format / Examples |
| ------------------ |-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Action | Format / Examples |
| ------------------ |----------------------------------------------------------------------------------------------------------------------------------------------|
| **Add member** | `add_member n/NAME r/ROOM_NUMBER t/TELEGRAM [tag/TAG]…​​` <br> e.g., `add_member n/James Ho r/4-3-301 t/jamesho123 tag/friend tag/colleague` |
| **Update member** | `update_member INDEX [n/NAME] [r/ROOM_NUMBER] [t/TELEGRAM] [tag/TAG]…​`<br> e.g.,`update_member 2 n/James Lee r/5-2-203 t/jameslee99` |
| **Delete member** | `delete_member INDEX`<br> e.g., `delete_member 3` |
| **Add session** | `add_session s/NAME d/DATE p/POINTS m/INDEX…​` <br> e.g., `add_session s/Rehearsal d/24 Oct 2024 p/2 m/1 m/3` |
| **Delete session** | `delete_session s/NAME m/INDEX…`<br> e.g., `delete_session s/Rehearsal m/1 m/3` |
| **Find members** | `find_members KEYWORD [MORE_KEYWORDS]…`<br> e.g., `find_members James Jake` |
| **Find sessions** | `find_sessions KEYWORD [MORE_KEYWORDS]…`<br> e.g., `find_sessions Team meeting` |
| **List** | `list` |
| **Clear** | `clear` |
| **Help** | `help` |
| **Exit** | `exit` |
| **Delete member** | `delete_member INDEX`<br> e.g., `delete_member 3` |
| **Add session** | `add_session s/NAME d/DATE p/POINTS m/INDEX [m/INDEX]…​` <br> e.g., `add_session s/Rehearsal d/24 Oct 2024 p/2 m/1 m/3` |
| **Delete session** | `delete_session s/NAME m/INDEX [m/INDEX]…`<br> e.g., `delete_session s/Rehearsal m/1 m/3` |
| **Find members** | `find_members KEYWORD [MORE_KEYWORDS]…`<br> e.g., `find_members James Jake` |
| **Find sessions** | `find_sessions KEYWORD [MORE_KEYWORDS]…`<br> e.g., `find_sessions Team meeting` |
| **List** | `list` |
| **Clear** | `clear` |
| **Help** | `help` |
| **Exit** | `exit` |

---

Expand Down Expand Up @@ -132,22 +131,23 @@ Displays an alphabetical list of all available commands for quick and easy refe

Adds a member to Hall Pointer. A member must have a name, room assignment, and Telegram username. You can also add tags to help categorize members.

**Format:** `add_member n/NAME r/ROOM_NUMBER t/TELEGRAM [tag/TAG]…​​`

<box type="tip" seamless>

**Tip:** A member can have any number of tags (including 0).

</box>
**Format:** `add_member n/NAME r/ROOM_NUMBER t/TELEGRAM_HANDLE [tag/TAG]…​​`

<box type="warning" seamless>

**Constraints:**<br>

- **Unique Name**: Each member must have a unique name. This is necessary to prevent confusion between members and to ensure accurate tracking.
- **Unique Telegram Username**: Each member must have a unique Telegram username, as this is a personal identifier for each user.
- **Unique Name**: Each member must have a unique name. This is necessary to prevent confusion between members and to ensure accurate tracking.
- **Unique Telegram Username**: Each member must have a unique Telegram username, as telegram account is personal and each username can only be used by one person at a time.
- **Shared Rooms Allowed**: Multiple members can be assigned to the same room to accommodate shared living arrangements.

</box>
<box type="tip" seamless>

**Tips**
- A member can have any number of tags (including 0).
- If you have multiple members with the same name, consider adding a distinguishing initial or number (e.g. "Daniel L", "Daniel O", "Daniel 2").

</box>

**Examples:**
Expand All @@ -174,7 +174,7 @@ Shows a list of all members registered in Hall Pointer.

Updates an existing member in Hall Pointer.

**Format:** `update_member INDEX [n/NAME] [r/ROOM_NUMBER] [t/TELEGRAM] [tag/TAG]…​​`
**Format:** `update_member INDEX [n/NAME] [r/ROOM_NUMBER] [t/TELEGRAM_HANDLE] [tag/TAG]…​​`

**Constraints:**

Expand All @@ -183,29 +183,32 @@ Updates an existing member in Hall Pointer.

<box type="tip" seamless>

**Tip:** At least one of the optional fields must be provided. Existing values will be updated to the input values.

</box>

**Tips:**
- At least one of the optional fields must be provided. Existing values will be updated to the input values.
- Updates the member at the specified `INDEX`. The index refers to the index number shown in the displayed member list. The index **must be a positive integer** 1, 2, 3, …​.
- When updating tags, the existing tags of the member will be removed; i.e., adding of tags is not cumulative.
- You can remove all the member’s tags by typing `tag/` without specifying any tags after it.

</box>

**Examples:**

- `update_member 1 t/johndoe123_updated n/Johnson Doe` updates the Telegram username and name of the 1st member to be `johndoe123_updated` and `Johnson Doe`, respectively.
- `update_member 2 n/Betsy Crower tag/` updates the name of the 2nd member to be `Betsy Crower` and clears all existing tags.
- `update_member 2 tag/Friend tag/Leader` updates the tags of the 2nd member to `Friend` and `Leader`.


![result for 'update_member 1 t/johndoe123_updated n/Johnson Doe'](images/updateCommandResult.png)

![result for 'update_member 1 t/johndoe123_updated n/Johnson Doe'](images/updateCommandResult.png)
---

### Locating members by name: `find_members`

Finds members whose names contain any of the given keywords.

**Format:** `find_members KEYWORD [MORE_KEYWORDS]`
**Format:** `find_members KEYWORD [MORE_KEYWORDS]`

**Constraints**
- **Case-Insensitive Search**: The search is case-insensitive, so `hans` will match `Hans`.
- **Order of Keywords**: The order of the keywords does not matter, so `Hans Bo` will match both `Bo Hans` and `Hans Bo`.
- **Full Word Matching**: Only full words will be matched, so `Han` will not match `Hans`.
Expand Down Expand Up @@ -249,21 +252,26 @@ Deletes the specified member from Hall Pointer.

### Adding a Session: `add_session`

Adds a session to Hall Pointer and associates it with specified members. A session contains a name, date, and points awarded. You can associate multiple members with a session.
Adds a session to Hall Pointer and associates it with specified members. A session contains a name, date, and points awarded to each member attending the session. You can add multiple members to a session.

**Format:** `add_session s/NAME d/DATE p/POINTS m/INDEX [m/INDEX]…`

**Format:** `add_session s/NAME d/DATE p/POINTS m/INDEX...`
**Constraints:**
- **Points** should be an integer between 0 and 100 inclusive. A maximum of 100 points can be awarded to any session.
- **Duplicate Session** You cannot add a session to a member if the member already attended a session with the same name
- **Unique Session Name**: Each session name must be unique within a member. This ensures that each session is distinct and prevents duplicate records.

<box type="tip" seamless>

**Tip:** **Points** should be an integer between 0 and 100. A maximum of 100 points can be awarded to any session.
**Tips:**
- **Multiple members** If you have multiple members attending the session, you can add them sequentially by specifying their indexes.
- **Duplicate Session** If you wish to add multiple sessions with the same name to a member, consider adding a unique identifier to the session name (e.g., "Rehearsal 1", "Rehearsal 2").

</box>

<box type="warning" seamless>

**Constraints:**<br>

- **Unique Session Name**: Each session name must be unique within a member. This ensures that each session is distinct and prevents duplicate records. If you have multiple similar sessions, consider naming them sequentially (e.g., "Rehearsal 1", "Rehearsal 2").

</box>

Expand All @@ -278,9 +286,9 @@ Adds a session to Hall Pointer and associates it with specified members. A sessi

This command finds members who have attended sessions with names that contain any of the specified keywords.

**Format:** `find_sessions KEYWORD [MORE_KEYWORDS]`
**Format:** `find_sessions KEYWORD [MORE_KEYWORDS]`

**Tips:**
**Constraints:**
- **Case-Insensitive Search:** The search is case-insensitive. For example, `meeting` will match `Meeting`.
- **Order of Keywords:** The order of keywords does not affect the search results. For example, `AGM meeting` will match sessions with names containing either `AGM` or `meeting`.
- **Full Word Matching:** Only full words are matched; e.g., `team` will not match `tea`.
Expand All @@ -292,6 +300,7 @@ This command finds members who have attended sessions with names that contain an
- `find_sessions Team` – Returns any member associated with sessions named "Team meeting," "Team bonding," etc.
- `find_sessions AGM meeting` – Returns members associated with sessions such as "AGM meeting" or "team meeting."

![result for 'find_session'](images/findSessionResult.png)


---
Expand All @@ -300,7 +309,10 @@ This command finds members who have attended sessions with names that contain an

Deletes a session associated with one or more members in Hall Pointer.

**Format:** `delete_session s/NAME m/INDEX...`
**Format:** `delete_session s/NAME m/INDEX [m/INDEX]…`

**Constraints:**
- **Case-Insensitive Search:** The search is case-insensitive. For example, `meeting` will match `Meeting`.

**Examples:**

Expand Down
Binary file added docs/images/findSessionResult.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.