Skip to content

Commit

Permalink
Merge pull request #201 from moguries/change-ug
Browse files Browse the repository at this point in the history
Change UG
  • Loading branch information
GERARDJM018 authored Apr 15, 2024
2 parents 424ae52 + 9a73864 commit 550a190
Showing 1 changed file with 149 additions and 56 deletions.
205 changes: 149 additions & 56 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,80 @@ layout: page
title: HouseKeeping Hub User Guide
---

Welcome to HouseKeeping Hub, the premier desktop application for **organizing client and housekeeper contacts**.
Hello there! A very warm welcome to Housekeeping Hub, the premier desktop application tailored for the **administrative staff
of housekeeping companies** in Singapore.

Housekeeping Hub boasts specialised and robust functionality, including contact management tools for clients and housekeepers as well as a booking management system,
our application ensures that the admin can effectively **manage an extensive contact list** and efficiently **match suitable housekeepers
to clients** when on-call.

That's not all! Our application also offers a special feature: instantly retrieve a client call list
that contains clients whose estimated next cleaning dates are nearing - a feature sure to increase customer retention rates.

With the efficiency of a **Command Line Interface ([CLI](#cli))** and the convenience of a **Graphical User Interface ([GUI](#gui))**,
our platform ensures fast and user-friendly contact management for **housekeeping companies' admins**.
But that's not all - we also offer a robust **booking system** to help you keep track of client bookings and housekeeper availability.
Housekeeping Hub ensures fast and user-friendly usage for every admin!

Are you ready to revolutionize your administrative workflow? Read on to learn more!

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

## Table of Contents
* Table of Contents
{:toc}

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

## Our Target User

Housekeeping Hub is specially tailored for a housekeeping company's admin whose role could involve:
1. Managing a contact list of clients and housekeepers detailing their personal particulars
2. Maintaining other important information regarding clients, including their booking dates or preferred interval between housekeeping services
3. Maintaining booking information and availability of every housekeeper
4. Searching for suitable housekeepers for a client, based on certain criteria like availability or area
5. Calling and reminding clients who have yet to make a new booking after a certain amount of time to do so

Our application is perfectly optimised to support the admin in accomplishing these tasks **effectively** and **with ease**!

Furthermore, our application is suitable for admins of all diverse roles or backgrounds. Even admins who are **not
tech-savvy**, or who have **limited administrative experience**, will find it a breeze to learn how to use Housekeeping Hub -
it's that intuitive and simple!

Though, as our application utilizes a **Command Line Interface ([CLI](#cli))**, it is naturally better optimised for
those who prefer typing to mouse actions.

Now that we have fleshed out our target user, we do recognise that **you**, the reader, might not be here as the user
of our application!
If you are here as...
1. A housekeeping company's admin learning how to use the application, we have provided detailed information on how to get started down below - we wish you all the best!
2. A housekeeping company's upper management, looking to implement our software into your company's workflow system, do reach out to us so that we may offer you the best service!
3. A fellow developer, we welcome you to explore our application and share with us your valued feedback!

Following this, we will delve into the purpose of this user guide.

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

## Purpose of this guide

This guide has been created to help you understand and utilize the features and functionalities of our software
effectively. Whether you're a new user who is not familiar with command line interface ([CLI](#cli)) or an expert looking to enhance
your skills, this guide aims to provide you with the information you need to make the most of our product.
your skills, this guide aims to provide you with the information you need to make the most of our application!

In this guide, you will find a quick start (guide to install and start using our product), a list of features and how to use them, and
a glossary to help you understand some jargon. This guide is designed to provide you with clear and concise instructions
and a reader-friendly format to enhance your experience in using our product.
a glossary to help you understand any technical jargon. This guide is designed to provide you with clear and concise instructions
in a reader-friendly format to enhance your experience in using our application. Below is the table of contents for quick navigation
of our guide.

[:arrow_up_small:](#table-of-contents)

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

## How to use this guide:question:

Let's get started! Here's a rundown of every section in this guide:
Let's get started! For users who are familiar with our application, you may want to skip straight to the
[command summary](#command-summary) for a quick refresh of available commands.

For beginner users who are learning how to use this guide and our application, no worries!
Here's a rundown of every section in this guide:

If you have yet to install HouseKeeping Hub, you can refer to the [installation instructions](#installation).

Expand All @@ -52,9 +100,33 @@ in the section below.

## Navigating our guide :mag:

Words highlighted in blue in our guide can direct you to a specific section in our guide ([FAQ](#faq)),
an external link ([download link](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases)), or to an explanation of a term in the glossary ([CLI](#cli)).
There will be [:arrow_up_small:](#table-of-contents) links, which you can click on to return to the table of contents.
This section is to aid you in navigating our guide.

Words highlighted in blue in our guide can direct you to:
1. A specific section in our guide ([FAQ](#faq))
2. An external link ([download link](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases)), or
3. An explanation of a term in the glossary ([CLI](#cli)).

To return to the table of contents, you may click on this button, which appears at the end of every section:
[:arrow_up_small:](#table-of-contents)

Tips that can enhance your understanding of our features and/or improve our application's usability will be highlighted
in these boxes:
<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
These are tips to help you use the application more effectively!
</div>

Extra information about certain features will be included in these boxes:
<div markdown="block" class="alert alert-info">

**:information_source: Notes about the command format:**<br>
Additional information specified here!
</div>

Warnings that caution you on potentially adverse or unintended effects will be accentuated in these boxes:
<div markdown="span" class="alert alert-warning">:exclamation: **Caution:**
**Very** important information here! Please read me!
</div>

[:arrow_up_small:](#table-of-contents)

Expand All @@ -63,19 +135,25 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click
## Installation :computer:
<a id="installation"></a>

1. Ensure you have `Java 11` or above installed in your Computer. You can download `Java 11` from [here](https://www.oracle.com/sg/java/technologies/javase/jdk11-archive-downloads.html).
1. This application requires `Java 11` or above to be installed in your Computer. You can download `Java 11` from [here](https://www.oracle.com/sg/java/technologies/javase/jdk11-archive-downloads.html).

1. Download the latest `HousekeepingHub-v1.3.1.jar` from [here](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases).

1. Copy the file to the folder you want to use as the _home folder_ for your HouseKeeping Hub.

1. Open a [command terminal](#terminal), and type in `cd` to navigate into the folder you placed the [jar](#jar) file in.
1. Open a [command terminal](#terminal), and type in `cd [folder_name]` to navigate into the folder you placed the [jar](#jar) file in.

1. Type in `java -jar HousekeepingHub-v1.3.1.jar` to run the application.<br>

A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data for demonstration purpose.
Once you are familiar with the app, you can use the `clear` command to remove all the sample data.<br><br>
![Ui](./images/Ui.png)
Once you are familiar with the app, you can use the `clear` command to remove all the sample data.
<div markdown="span" class="alert alert-warning">:exclamation: **Caution:**
The `clear` command is irreversible! Please use it only when certain.
</div>
<br><br>


![Ui](./images/Ui.png)

[:arrow_up_small:](#table-of-contents)

Expand All @@ -84,20 +162,60 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click
## Tutorial
<a id="tutorial"></a>

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>
Some example commands you can try:
After you have launched Housekeeping Hub, you should see some sample data for you to try out the features.

To use a command, type the command into the command box and press Enter to execute it.

* `list client` : Lists all client contacts.
Let us try some simple workflows!

* `add housekeeper n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 ar/west` : Adds a housekeeper named `John Doe`.
Adding and deleting contacts:

* `delete client 3` : Deletes the 3rd contact shown in the last shown list.
1. Add a client named 'Melissa Tan' into the client list:<br>
`add client n/Melissa Tan p/98362547 e/[email protected] a/Jane street, block 321 ar/northeast`
2. Delete the 3rd housekeeper that appears in the housekeeper list:<br>
`delete housekeeper 3`

* `clear` : Deletes all contacts.
Finding and listing contacts:

* `exit` : Exits the app.
1. Find clients with the name 'David':<br>
`find client n/david`
2. List all clients again:<br>
`list client`

1. Refer to the [Features](#features) below for details of each command.
Adding a booking for a housekeeper:

1. Search for housekeepers who are available in the East, on 2024-03-02 pm:<br>
`booking housekeeper search east 2024-03-02 pm`
2. View the booking list of the 2nd housekeeper that appears in the housekeeper list:<br>
`booking housekeeper list 2`<br>
The list should be empty.
3. Add a new booking for the 2nd housekeeper:<br>
`booking housekeeper add 2 2024-05-22 pm`
4. View the booking list of the 2nd housekeeper again:<br>
`booking housekeeper list 2`<br>
The list should contain the new booking you just made.
5. Delete the booking you just made:<br>
`booking housekeeper delete 2 1`

Edit a client's housekeeping details:

1. Add a booking date for the 2nd client that appears in the client list:<br>
`booking client add 2 2024-03-11 pm`
2. Edit the booking date for the 2nd client:<br>
`booking client edit 2 bd/2024-03-17 am`
3. Remove the 2nd client's housekeeping details:<br>
`booking client remove 2`
4. Set the 2nd client's housekeeping details again:<br>
`booking client set 2 2024-03-01 15 months`

Once you've familiarized yourself with the commands, you can clear all the sample data in the application with the
`clear` command.

<div markdown="span" class="alert alert-warning">:exclamation: **Caution:**
The `clear` command is irreversible! Please use it only when certain.
</div>

Congratulations on completing the tutorial! For more in depth explanations of each command, you may refer to the [Features](#features) section below.

[:arrow_up_small:](#table-of-contents)

Expand All @@ -106,6 +224,9 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click
## Features
<a id="features"></a>

Welcome to the features section! Here, we will provide detailed information on how to use each feature in the application.
The information box below contains pertinent information to help you interpret the command formats correctly.

<div markdown="block" class="alert alert-info">

**:information_source: Notes about the command format:**<br>
Expand Down Expand Up @@ -138,7 +259,7 @@ as space characters surrounding line-breaks may be omitted when copied over to t

### Viewing help : `help`

Shows a message explaning how to access the help page.
Shows a message explaining how to access the help page.

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

Expand Down Expand Up @@ -459,38 +580,6 @@ Examples:

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

###### Adding deferment: `booking client defer`

Adds a deferment to the period before a client's next estimated housekeeping date.
The default value for deferment is 0.

This function can be used to manage clients who want to defer their next housekeeping date. For example, a client who
will be overseas for the next 3 months might want to defer their next housekeeping service to after they are back.

If the client has **no housekeeping details**, first use the `set` command to add housekeeping details for the client.

Format: `booking client defer INDEX NUMBER INTERVAL`

Parameters:

`INDEX`: index of target client, relative to the observed client list
`NUMBER`: quantity of `INTERVAL`(s) - non-negative integer
`INTERVAL`: period to defer - 'days', 'weeks', 'months' or 'years'

<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
The specified index will work for any currently displayed list. i.e. What you see is what you get.<br>
The `INTERVAL` is the period to defer. It is meant to be an estimate, so
options such as `2 weeks and 3 days` are not supported. If precision is needed, you should convert it to `NUMBER days`.
</div>

Examples:
* `booking client defer 2 3 months` adds a deferment of 3 months for the 2nd client
* `booking client defer 6 1 years` adds a deferment of 1 year for the 6th client<br>

[:arrow_up_small:](#table-of-contents)

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

###### Editing housekeeping details: `booking client edit`

Edits any attribute client's housekeeping details (including last housekeeping date, preferred interval, booking date and deferment).
Expand Down Expand Up @@ -518,6 +607,11 @@ Formats and parameters:
`INDEX`: index of target client, relative to the observed client list
`NUMBER`: quantity of `INTERVAL`(s) - non-negative integer
`INTERVAL`: period to defer - 'days', 'weeks', 'months' or 'years'
Edits a deferment to the period before a client's next estimated housekeeping date.
The default value for deferment is 0.

This deferment attribute can be used to manage clients who want to defer their next housekeeping date. For example, a client who
will be overseas for the next 3 months might want to defer their next housekeeping service to after they are back.

<div markdown="span" class="alert alert-primary">:bulb: **Tip:**
The index to delete will work for any displayed list. i.e. What you see is what you get.<br>
Expand Down Expand Up @@ -660,7 +754,6 @@ Action | Format, Explainations, Examples
`edit pi/` | Edit client's preferred interval with `edit pi/`<br>Format: `booking client edit INDEX pi/NUMBER INTERVAL`<br>Example: `booking client edit 2 pi/2 weeks`
`edit bd/` | Edit client's booking date with `edit bd/`<br>Format: `booking client edit INDEX bd/BOOKING DATE`<br>Example: `booking client edit 2 bd/2024-04-02 am`
`edit d/` | Edit deferment with `edit d/`<br>Format: `booking client edit INDEX d/NUMBER INTERVAL`<br>Example: `booking client edit 2 d/2 months`
`defer` | Add period to delay calling clients with `defer`<br>Format: `booking client defer INDEX NUMBER INTERVAL`<br>Example: `booking client defer 2 1 months`
`add` | Add client's booking date with `add`<br>Format: `booking client add INDEX yyyy-MM-dd (am|pm)`<br>Example: `booking client add 2 2024-04-01 am`
`delete` | Delete client's booking date with `delete`<br>Format: `booking client delete INDEX` <br>Example: `booking client delete 2`
`set` | Set client's housekeeping details with `set`. Same format as initiation, you can set last housekeeping date and preferred interval. <br>Format: `booking client set INDEX yyyy-MM-dd NUMBER INTERVAL`<br>Example: `booking client set 2 2024-04-01 15 days`
Expand Down

0 comments on commit 550a190

Please sign in to comment.