Skip to content

Commit

Permalink
Merge pull request AY2425S1-CS2103T-F15-2#111 from jessica2828/update-ug
Browse files Browse the repository at this point in the history
Update UG
  • Loading branch information
juliantayyc authored Oct 31, 2024
2 parents 0f389fb + 3cc8cc6 commit df1e600
Show file tree
Hide file tree
Showing 4 changed files with 175 additions and 49 deletions.
212 changes: 169 additions & 43 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,97 @@
pageNav: 3
---

<br>

# EduContacts User Guide

EduContacts is a **desktop app for Educators in Tertiary Institution to manage 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.
<br>

EduContacts is a **desktop app for Educators in Tertiary Institution to manage contacts, optimized for use via a Command 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. For educators who may be less experienced with command-based tools, EduContacts also includes user-friendly and intuitive features and guidance, making it accessible for all users.

<br>
<!-- * Table of Contents -->
<page-nav-print />

## Table of Contents
1. [Quick start](#quick-start)
2. [Features](#features)
- [Viewing help : `help`](#viewing-help-help)
- [Adding a person: `add`](#adding-a-person-add)
- [Listing all persons : `list`](#listing-all-persons-list)
- [Editing a person : `edit`](#editing-a-person-edit)
- [Listing students by certain attributes : `filter`](#listing-students-by-certain-attributes-filter)
- [Deleting a person : `delete`](#deleting-a-person-delete)
- [Clearing all entries : `clear`](#clearing-all-entries-clear)
- [Exiting the program : `exit`](#exiting-the-program-exit)
3. [FAQ](#faq)
4. [Known issues](#known-issues)
5. [Command summary](#command-summary)

---

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

## Quick start

1. Ensure you have Java `17` or above installed in your Computer.
[Download Java here](https://www.oracle.com/sg/java/technologies/downloads/) if you haven't already.

1. Download the latest `.jar` file from [here](https://github.com/se-edu/addressbook-level3/releases).
<box type="tip" seamless>

1. Copy the file to the folder you want to use as the _home folder_ for your AddressBook.
**Tip:** After downloading, you can confirm installation by typing `java -version` in your command terminal.

1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar educontacts.jar` command 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.<br>
![Ui](images/Ui.png)
</box>

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:
1. Download the latest `.jar` file from [here](https://github.com/AY2425S1-CS2103T-F15-2/tp/releases).

* `list` : Lists all contacts.
1. Copy the file to the folder you want to use as the home folder for your EduContacts.

* `add 12345678 n/John Doe p/99999999 e/[email protected] a/123 Jane Doe Road c/Computer Science t/Student` : Adds a contact named `John Doe` to EduContacts.
1. To run EduContacts, open a command terminal.

* `delete 12345678` : Deletes a student contact with StudentID `12345678`.
To navigate to the folder where you placed the `.jar` file, use the `cd` command. For example, if you placed the file in a folder named `EduContacts` on your Desktop, you would enter:

* `clear` : Deletes all contacts.
```bash
cd ~/Desktop/EduContacts
```

and use the following command to run the application:

* `exit` : Exits the app.
```bash
java -jar educontacts.jar
```

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

```bash
list
```
Lists all contacts.

```bash
add 12345678 n/John Doe p/99999999 e/[email protected] a/123 Jane Doe Road c/Computer Science t/Student
```
Adds a contact named `John Doe` to EduContacts.

```bash
delete 12345678
```
Deletes a student contact with StudentID `12345678`.

```bash
clear
```
Deletes all contacts.

```bash
exit
```
Exits the app.

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

Expand Down Expand Up @@ -65,67 +123,107 @@ EduContacts is a **desktop app for Educators in Tertiary Institution to manage c

### Viewing help : `help`

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

Format:
```bash
help
```
![help message](images/helpMessage.png)

Format: `help`


### Adding a person: `add`

Adds a person to the address book.
Adds a person contact to the EduContacts.

Format: `add ID n/NAME p/PHONE e/EMAIL a/ADDRESS c/COURSE t/TAG`
Format:
```bash
add ID n/NAME p/PHONE e/EMAIL a/ADDRESS c/COURSE t/TAG
```

Examples:
* `add 12345678 n/John Doe p/99999999 e/[email protected] a/123 Jane Doe Road c/Computer Science t/Student`
* `add 87654321 n/Betsy Crowe t/ Student e/[email protected] a/Newgate Prison p/1234567 c/Business Analytics`
* `add 87654321 n/Betsy Crowe t/ Student e/[email protected] a/Blk 30 Geylang Street 29, #06-40 p/1234567 c/Business Analytics`
* `add 12345678 n/John Doe p/98981212 e/[email protected] a/123 Jane Doe Road c/Computer Science t/Student`
![result for 'add command result'](images/addCommandResult.png)

### Listing all persons : `list`

Shows a list of all persons in the address book.
Shows a list of all persons in EduContacts.

Format: `list`
Format:
```bash
list
```

### Editing a person : `edit`

Edits an existing person in the address book.
Edits an existing person in EduContacts.

Format: `edit ID [FIELD_TO_EDIT_PREFIX] [NEW_VALUE]`
Format:
```bash
edit ID [FIELD_TO_EDIT_PREFIX] [NEW_VALUE]
```

* Edits a student's details according to the fields specified.
* At least one of the optional fields must be provided.
* Existing values will be updated to the input values.
Examples:
* `edit 12345678 m/CS2103T CS2101`
* To edit the module CS2103T to CS2101 of a student with ID 12345678, type `edit 12345678 m/CS2103T CS2101` utilizing the `m/` prefix for modules
### Listing students by certain attributes : `filter`
Filter students based on their Names, Courses and Modules.
Format: `filter [KEYWORD_PREFIX] [MORE_KEYWORDS]`
Format:
```bash
filter [KEYWORD_PREFIX] [MORE_KEYWORDS]
```
* 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`
* Only full words will be matched e.g. `Han` will not match `Hans`
* Persons matching at least one keyword will be returned (i.e. `OR` search).
* **For filtering by Names:**
* Use prefix `n/`.
* Only full words will be matched e.g. `Han` will not match `Hans`
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`
* Persons matching at least one keyword will be returned (i.e. `OR` search).
e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`
<!-- -->
* **For filtering by Module:**
* Use prefix `m/`.
* Partial matching is supported, allowing users to input parts of module codes. e.g. `m/CS21` will return modules like "CS2103T" and "CS2101."
<!-- -->
* **For filtering by Course:**
* Use prefix `c/`
* Partial matching is supported, but the first keyword must match the beginning of the course name.
e.g `Engineer` will match courses like "Engineering" but not "Civil Engineering".
<box type="tip" seamless>
**Tip:** The search is case-insensitive. e.g `cs1231s` will match `CS1231S`.
</box>
Examples:
* `filter n/John` returns `john` and `John Doe`
* `filter n/alex david` returns `Alex Yeoh`, `David Li`
* ```filter n/John``` returns `john` and `John Doe`
* `filter m/CS2103T` returns a list of all students with module CS2103T.
* `filter c/Computer Science` returns a list of all students with course Computer Science.<br>
![result for 'find alex david'](images/findAlexDavidResult.png)
* `filter n/alex david` returns `Alex Yeoh`, `David Li`
![result for 'find alex david'](images/filterAlexDavidResult.png)
### Deleting a person : `delete`
Deletes the specified person from the address book.
Deletes the specified person from EduContacts.
Format: `delete ID`
Format:
```bash
delete ID
```
* Deletes student with the specified `ID`.
Expand All @@ -134,29 +232,48 @@ Examples:
### Clearing all entries : `clear`
Clears all entries from the address book.
Clears all entries from EduContacts.
Format: `clear`
Format:
```bash
clear
```
<box type="warning" seamless>
**Warning:**
The `clear` command will erase all contacts from the system. Please ensure that you have backed up any important information before proceeding. This action cannot be undone, so use this command with caution.
</box>
### Exiting the program : `exit`
Exits the program.
Format: `exit`
Format:
```bash
exit
```
<box type="tip" seamless>
**Tip:** UP and DOWN arrow to Navigate Command History
Use the UP and DOWN arrow keys to scroll through previous commands in the Command Box. This feature helps you reuse recent commands without retyping, making it faster to correct or repeat commands.
</box>
### Saving the data
EduContacts 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.
EduContacts data are saved automatically as a JSON file `[JAR file location]/data/educontacts.json`. Advanced users are welcome to update data directly by editing that data file.
<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.
**Warning:**
If your changes to the data file makes its format invalid, EduContacts 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 EduContacts 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>
### Archiving data files `[coming in v2.0]`
Expand All @@ -167,8 +284,17 @@ _Details coming soon ..._
## FAQ
**Q**: I am unfamiliar with command-line interfaces. How should I begin using EduContacts?<br>
**A**: We recommend starting with the **Quick Start** section of the user guide, which provides essential steps for setup and installation. Once you have the application running, utilize the `help` command or Help button to view a comprehensive list of available commands and their functions. Additionally, the **Features** section offers detailed instructions and examples for each command. We recommend familiarizing yourself with these resources as it will enhance your experience with EduContacts.
**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 EduContacts home folder.
**Q**: Is there a way to recover accidentally deleted contacts?<br>
**A**: Unfortunately, once deleted, a contact cannot be recovered unless you have a backup of the JSON file from before deletion. Regular backups are recommended for this reason.
**Q**: Can I export my contacts to Excel or another format?<br>
**A**: EduContacts data is stored in JSON format. You can convert JSON files to Excel or CSV using an external tool or script to make data compatible with spreadsheet applications.
--------------------------------------------------------------------------------------------------------------------
Expand Down
Binary file added docs/images/filterAlexDavidResult.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 removed docs/images/findAlexDavidResult.png
Binary file not shown.
12 changes: 6 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
title: ""
---

# AddressBook Level-3
# EduContacts

[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions)
[![codecov](https://codecov.io/gh/se-edu/addressbook-level3/branch/master/graph/badge.svg)](https://codecov.io/gh/se-edu/addressbook-level3)
[![CI Status](https://github.com/AY2425S1-CS2103T-F15-2/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2425S1-CS2103T-F15-2/tp/actions)
[![codecov](https://codecov.io/gh/AY2425S1-CS2103T-F15-2/tp/branch/master/graph/badge.svg)](https://codecov.io/gh/AY2425S1-CS2103T-F15-2/tp)

![Ui](images/Ui.png)

**AddressBook is a desktop application for managing your contact details.** While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface).
**EduContacts is a desktop application for Tertiary Educators to manage your contact details.** While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface).

* If you are interested in using AddressBook, head over to the [_Quick Start_ section of the **User Guide**](UserGuide.html#quick-start).
* If you are interested about developing AddressBook, the [**Developer Guide**](DeveloperGuide.html) is a good place to start.
* If you are interested in using EduContacts, head over to the [_Quick Start_ section of the **User Guide**](UserGuide.html#quick-start).
* If you are interested about developing EduContacts, the [**Developer Guide**](DeveloperGuide.html) is a good place to start.


**Acknowledgements**
Expand Down

0 comments on commit df1e600

Please sign in to comment.