Skip to content

Commit

Permalink
Merge branch 'master' into A-UIChanges
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/java/seedu/address/ui/ClientCard.java
  • Loading branch information
Colin Hia committed Nov 4, 2024
2 parents e055a9b + 2ed3909 commit 0dfc67e
Show file tree
Hide file tree
Showing 139 changed files with 2,148 additions and 1,977 deletions.
2 changes: 0 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ dependencies {
shadowJar {
archiveFileName = 'AgentAssist.jar'
zip64 = true
minimize()
exclude('**/META-INF/*.SF', '**/META-INF/*.DSA', '**/META-INF/*.RSA')
exclude('**/*.md') // Markdown files
exclude('**/*.txt') // Text files
// exclude('**/*.png', '**/*.jpg') // Images, if not required
exclude('**/docs/**')
exclude('**/src/test/**')
}
Expand Down
2 changes: 1 addition & 1 deletion docs/DevOps.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Given below are how to use Gradle for some important project tasks.
* **`clean`**: Deletes the files created during the previous build tasks (e.g. files in the `build` folder).<br>
e.g. `./gradlew clean`

* **`shadowJar`**: Uses the ShadowJar plugin to creat a fat JAR file in the `build/lib` folder, *if the current file is outdated*.<br>
* **`shadowJar`**: Uses the ShadowJar plugin to create a fat JAR file in the `build/lib` folder, *if the current file is outdated*.<br>
e.g. `./gradlew shadowJar`.

* **`run`**: Builds and runs the application.<br>
Expand Down
96 changes: 48 additions & 48 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

131 changes: 72 additions & 59 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ Let’s begin and get you up to speed with AgentAssist!

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

<div style="page-break-after: always;"></div>

# Table of Contents

1. [Introduction](#1-introduction)
Expand All @@ -40,6 +42,7 @@ Let’s begin and get you up to speed with AgentAssist!
7. [Known Issues](#7-known-issues)
8. [Command Summary](#8-command-summary)

<div style="page-break-after: always;"></div>

# 1. Introduction
## 1.1 What is AgentAssist?
Expand All @@ -62,6 +65,8 @@ Maximize your productivity, minimize your response time, and amplify your sales

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

<div style="page-break-after: always;"></div>

# 2. Important Prerequisites

Before you start using AgentAssist, there are a few prerequisites to ensure you get the most out of the application:
Expand All @@ -77,6 +82,9 @@ AgentAssist allows you to manage client data like names, phone numbers, emails,

🎉 **By meeting these prerequisites, you'll be ready to make the most of AgentAssist’s fast, keyboard-driven interface and powerful data management features.** 🎉

--------------------------------------------------------------------------------------------------------------------
<div style="page-break-after: always;"></div>

# 3. Getting Started
Welcome to AgentAssist. Here’s how to get up and running quickly and easily.

Expand Down Expand Up @@ -109,45 +117,39 @@ Move the .jar file you downloaded into this folder.
### Step 4: Run the Application

1. **Open a command terminal**
- On Windows, press `Windows Key + R`, type `cmd`, and press `Enter`.
- On macOS, press `Command + Space`, type `Terminal`, and press `Enter`.
- On Linux, open your **Terminal** application from the system menu.
- **Windows**: press `Windows Key + R`, type `cmd`, and press `Enter`.
- **macOS**: press `Command + Space`, type `Terminal`, and press `Enter`.
- **Linux**: open your **Terminal** application from the system menu.


2. **Navigate your terminal to the folder where you saved the AgentAssist application:**
- To do this, use the `cd` command followed by the path to your folder.\
> ℹ️ **Tip:** Follow the guide below to navigate to your folder in the terminal:
>
> <details><summary><strong>Click here to learn how to navigate to your folder in terminal</strong></summary>
>
> - **Windows**: Use the command `cd <folder path>`.
For example, if **AgentAssist** is stored in the `Downloads` folder:
> ```bash
> cd C:\Users\<YourUsername>\Downloads
> ```
>
> - **macOS/Linux**: Use the command `cd <folder path>`.
For example, if **AgentAssist** is stored in the `Downloads` folder:
> ```bash
> cd /Users/<YourUsername>/Downloads
> ```
>
> </details>
3. Run the application:
- Type the following command: **`java -jar agentassist.jar`** and press **Enter**.
- A window similar to the below image should appear in a few seconds. You will see a graphical user interface with sample contact information already added.<br><br>
![Ui](images/Ui.png)
- In the terminal, type: `cd <folder path>` and press **Enter**. (Replace <folder path> with the actual location of AgentAssist.)
- For example, if **AgentAssist** is stored in your **Downloads** folder:
- **Windows**: `cd C:\Users\<YourUsername>\Downloads`
- **macOS/Linux**: `cd /Users/<YourUsername>/Downloads`


3. **Run the application:**
- In the terminal, type: `java -jar agentassist.jar` and press **Enter**.
- After a few seconds, a window similar to the below image should appear. This is the AgentAssist interface, with sample contact information already loaded for you to explore.<br>
<img src="images/Ui.png" alt="UI" style="margin-top: 20px; margin-bottom: 20px;">


4. 🎉 **Congratulations! AgentAssist is now up and running!** 🎉
You're all set to start using AgentAssist to manage your contacts, track your sales, and boost your productivity!
You're all set to start using AgentAssist to manage your contacts, track your sales, and boost your productivity.

<div style="page-break-after: always;"></div>

## 3.2 Graphical User Interface (GUI) Layout

<img src="images/UiSplitView.png" alt="UISplitView">

To learn more about how to use commands in AgentAssist, proceed to the next section.

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

<div style="page-break-after: always;"></div>

# 4. Understanding Commands in AgentAssist {#using-agentassist}

The true power of **AgentAssist** lies in efficiently using commands. Before diving into specific commands, let’s break down the basic structure of a command.
Expand All @@ -160,7 +162,7 @@ Let's take a look at the structure in more detail:
| **Components** | **Description** | **Example** |
|:----------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------|
| **Command** | The action you want AgentAssist to perform. | `add` |
| **Flag(s)** | Modifiers that specify what kind of data is being handled. <br/><br/>Flag(s) are typically 1-2 letters followed by a backslash. | `n/`, `p/`, `r/`, `rn/` |
| **Flag(s)** | Modifiers that specify what kind of data is being handled. <br/><br/>Flag(s) are typically 1-2 letters followed by a backslash. | `n/`, `e/`, `r/`, `rn/` |
| **Argument(s)** | The values or inputs the command uses, such as client data or specific details. <br><br> This guide may represent it as a placeholder using `<ARGUMENT>`. | `John Doe`, `[email protected]` |

Here's an example that uses multiple flags and arguments:
Expand Down Expand Up @@ -191,7 +193,9 @@ Here is a reference table that briefly summarizes available commands:
| `help` | Displays a list of available commands and their usage. |
| `exit` | Exits the AgentAssist application. |

Refer to the [Commands Section](#commands-section) for more comprehensive details of each command.
Refer to the [Commands Section](#5-commands) for more comprehensive details of each command.

<div style="page-break-after: always;"></div>

## 4.3 Flags

Expand All @@ -217,6 +221,8 @@ Here’s a reference table of available flags and the type of data they correspo
>
> Flags are typically derived from the first letter of their corresponding data type (e.g., `n/` for `name`), making them easy to remember!
<div style="page-break-after: always;"></div>

## 4.4 Arguments

Arguments are the values that follow each flag in a command. **Arguments cannot be empty**, and each must meet specific parsing and format requirements to ensure proper execution of the command.
Expand All @@ -242,6 +248,8 @@ Refer to the table below for more details.
>
> Providing a flag without an accompanying argument will result in an error and prevent the command from executing properly.
<div style="page-break-after: always;"></div>

## 4.5 Using Commands
To get started, simply type a command into the command box and hit **Enter**.

Expand Down Expand Up @@ -271,14 +279,16 @@ Some initial commands to try:

The GUI will dynamically update to show the results of your commands, making it easy to see the impact of your actions in real time.

Refer to the [Commands Section](#commands-section) for more comprehensive details of each command.
Refer to the [Commands Section](#5-commands) for more comprehensive details of each command.

> 💡 **Pro Tip:**
> Combine commands like `filter` followed by `edit` or `delete` to manage your contacts more effectively.
> For example, use `filter j/doctor` to display all doctors, then `edit 2 a/321 New Address` to update the address for the second listed doctor.
--------------------------------------------------------------------------------------------------------------------

<div style="page-break-after: always;"></div>

# 5. Commands

## 5.1 How to Read Commands
Expand Down Expand Up @@ -313,9 +323,9 @@ add n/ <NAME> p/ <PHONE> e/ <EMAIL> a/ <ADDRESS> j/ <JOBNAME> i/ <INCOME> [t/ <T
Each client's record includes their name, contact number, email, occupation, and income. You can also enter the optional fields for credit card tier and remark here. Otherwise, new users are assigned a default value of "N.A".

**Command Format:**
```
add n/ <NAME> p/ <PHONE> e/ <EMAIL> a/ <ADDRESS> j/ <JOBNAME> i/ <INCOME> [t/ <TIER>] [rn/ <REMARK>]
```
```
add n/ <NAME> p/ <PHONE> e/ <EMAIL> a/ <ADDRESS> j/ <JOBNAME> i/ <INCOME> [t/ <TIER>] [rn/ <REMARK>]
```
* Mandatory Fields: `n/`, `p/`, `e/`, `a/`, `j/`, `i/`
* Optional Fields: `t/`, `rn/`

Expand Down Expand Up @@ -380,25 +390,25 @@ For detailed explanations of each flag and acceptable arguments, refer to Sectio

**Examples:**
- Edit only 1 specific field:
```
edit 12 a/ Ridge View Residential College
```
```
edit 12 t/ gold
```
```
edit 12 a/ Ridge View Residential College
```
```
edit 12 t/ gold
```

- Edit multiple fields at the same time:
```
edit 12 p/ 99887766 e/ [email protected] j/ unemployed i/ 0 t/ reject
```
```
edit 12 p/ 99887766 e/ [email protected] j/ unemployed i/ 0 t/ reject
```
- Append new remark onto existing one:
```
edit 12 ra/ Recently received Gordon E. Moore Award
```
```
edit 12 ra/ Recently received Gordon E. Moore Award
```
- Replace all remark(s) with a new remark:
```
edit 69 rn/ Do not call, angry about calls
```
```
edit 69 rn/ Do not call, angry about calls
```

**What to Expect:**
- **On Success:**
Expand Down Expand Up @@ -434,13 +444,13 @@ For detailed explanations of each flag and acceptable arguments, refer to Sectio

**Examples:**
- Remove a client with a specific index (e.g. at index 12):
```
delete 12
```
```
delete 12
```
Confirmation prompt:
```
This will permanently delete this contact. Are you sure you want to execute this command? (y/n)
```
```
This will permanently delete this contact. Are you sure you want to execute this command? (y/n)
```

**What to Expect:**
- **On Success (after confirming with y/yes):**
Expand Down Expand Up @@ -576,7 +586,7 @@ For detailed explanations of each flag and acceptable arguments, refer to Sectio
- **On Success:**
- Message:
```
x person(s) listed!
x client(s) listed!
```
where `x` is the number of matching results.
- **On Error:**
Expand Down Expand Up @@ -610,9 +620,9 @@ view index

**Examples:**
- **View client no.1**
```
view 1
```
```
view 1
```
This will open a split view showing detailed information for the client at index 1.

**What to Expect:**
Expand All @@ -622,7 +632,7 @@ view index
- **On Error:**
- Invalid index error message:
```
The person index provided is invalid
The client index provided is invalid
```

> 💡 **Pro Tip:**
Expand Down Expand Up @@ -695,6 +705,8 @@ The data in AgentAssist is automatically saved as a [JSON](https://developer.moz

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

<div style="page-break-after: always;"></div>

## 6. FAQ

### How do I transfer my data to another Computer?
Expand All @@ -718,6 +730,7 @@ Each credit card tier is visually distinguished in the UI: Gold is marked with a

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


## 8. Command Summary

| **Action** | **Command Format** | **Example** |
Expand Down
6 changes: 5 additions & 1 deletion docs/_sass/minima/_base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ blockquote {
border-left: 4px solid $brand-color-light;
padding-left: $spacing-unit / 2;
@include relative-font-size(1.125);
font-style: italic;
font-style: default;

> :last-child {
margin-bottom: 0;
Expand All @@ -165,6 +165,10 @@ code {
border: 1px solid $brand-color-light;
border-radius: 3px;
background-color: $code-background-color;
margin-top: 0.25em;
white-space: pre-wrap;
overflow-wrap: break-word;
word-break: break-word;
}

code {
Expand Down
4 changes: 2 additions & 2 deletions docs/_sass/minima/_layout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@
.post-content {
margin-bottom: $spacing-unit;

h1, h2, h3 { margin-top: $spacing-unit * 2 }
h4, h5, h6 { margin-top: $spacing-unit }
h1 { margin-top: $spacing-unit * 2 }
h2, h3, h4, h5, h6 { margin-top: $spacing-unit * 1.15 }

h2 {
@include relative-font-size(1.75);
Expand Down
2 changes: 1 addition & 1 deletion docs/diagrams/ArchitectureSequenceDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ activate ui UI_COLOR
ui -[UI_COLOR]> logic : execute("delete 1")
activate logic LOGIC_COLOR

logic -[LOGIC_COLOR]> model : deletePerson(p)
logic -[LOGIC_COLOR]> model : deleteClient(c)
activate model MODEL_COLOR

model -[MODEL_COLOR]-> logic
Expand Down
22 changes: 11 additions & 11 deletions docs/diagrams/BetterModelClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ skinparam arrowThickness 1.1
skinparam arrowColor MODEL_COLOR
skinparam classBackgroundColor MODEL_COLOR

AgentAssist *-right-> "1" UniquePersonList
AgentAssist *-right-> "1" UniqueClientList

UniquePersonList -right-> Person
UniqueClientList -right-> Client

Person *--> Name
Person *--> Phone
Person *--> Email
Person *--> Address
Person *--> Tier
Person *--> Job
Person *--> Income
Person *--> Status
Person *--> Remark
Client *--> Name
Client *--> Phone
Client *--> Email
Client *--> Address
Client *--> Tier
Client *--> Job
Client *--> Income
Client *--> Status
Client *--> Remark

@enduml
2 changes: 1 addition & 1 deletion docs/diagrams/DeleteSequenceDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ deactivate AgentAssistParser
LogicManager -> DeleteCommand : execute(m)
activate DeleteCommand

DeleteCommand -> Model : deletePerson(1)
DeleteCommand -> Model : deleteClient(1)
activate Model

Model --> DeleteCommand
Expand Down
Loading

0 comments on commit 0dfc67e

Please sign in to comment.