Skip to content

Commit

Permalink
Merge pull request #43 from mannggoo/master
Browse files Browse the repository at this point in the history
Nice work updating the user guide!
  • Loading branch information
blimyj authored Oct 2, 2019
2 parents a23b89e + 45e8653 commit 504d38d
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 75 deletions.
7 changes: 5 additions & 2 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= ELISA
ifdef::env-github,env-browser[:relfileprefix: docs/]

https://travis-ci.com/cholmes899/main[image:https://travis-ci.com/cholmes899/main.svg?branch=master[Build Status]]
https://travis-ci.com/AY1920S1-CS2103T-T10-3/main[image:https://travis-ci.org/AY1920S1-CS2103T-T10-3/main.svg?branch=master[Build Status]]

ifdef::env-github[]
image::docs/images/Ui.png[width="600"]
Expand All @@ -11,9 +11,11 @@ ifndef::env-github[]
image::images/Ui.png[width="600"]
endif::[]

* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface).
* Extremely Loud and Intelligent Student Assistant (ELISA) is for students who *want to have an intelligent companion that keeps track of tasks and give friendly reminders on when to take breaks*.
* More importantly, ELISA is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, ELISA can get your tasks done faster than traditional GUI apps.
* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language.
* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules.
* Interested? Jump to the <<Quick Start>> to get started. Enjoy!
== Site Map

Expand All @@ -25,6 +27,7 @@ endif::[]

== Acknowledgements

* Built on AddressBook-Level3 project created by SE-EDU initiative at https://se-education.org
* Some parts of this sample application were inspired by the excellent http://code.makery.ch/library/javafx-8-tutorial/[Java FX tutorial] by
_Marco Jakob_.
* Libraries used: https://openjfx.io/[JavaFX], https://github.com/FasterXML/jackson[Jackson], https://github.com/junit-team/junit5[JUnit5]
Expand Down
135 changes: 62 additions & 73 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,133 +44,122 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window.

====
*Command Format*
* Words in `UPPER_CASE` are the parameters to be supplied by the user e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`.
* Items in square brackets are optional e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`.
* Items with `…`​ after them can be used multiple times including zero times e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.
* Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.
* Words in UPPER_CASE are the parameters to be supplied by the user e.g. in add -td, DESCRIPTION is a parameter which can be used as add -td bathe.
* Items in square brackets are optional e.g -td DESCRIPTION [-t TAG] can be used as -td bath -t home or as -t bathe.
* Items with …​ after them can be used multiple times including zero times e.g. [-t TAG]…​ can be used as (i.e. 0 times), -t friend, -t friend -t family etc.
* Parameters can be in any order e.g. if the command specifies -td DESCRIPTION -t TAG, -t TAG -td DESCRIPTION is also acceptable.
====

=== Viewing help : `help`

Format: `help`

=== Adding a person: `add`
=== Adding a task: `task`

Adds a person to the address book +
Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...`
Adds a task to the task list
Format: `task DESCRIPTION [-d DATETIME] [-r REMINDER] [-p PRIORITY] [-t TAG]...`

[TIP]
A person can have any number of tags (including 0)
A task can have any number of tags (including 0)

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`
* `task eat my vitamins`
* `task eat my vitamins -r at 2pm`
* `task eat my vitamins -d by midnight -p low -t healthy`

=== Listing all persons : `list`
=== Adding an event: `event`

Shows a list of all persons in the address book. +
Format: `list`
Adds an event to events list and calendar
Format: `event DESCRIPTION -d DATETIME [-r REMINDER] [-p PRIORITY] [-t TAG]...`

=== Editing a person : `edit`
[TIP]
An event can have any number of tags (including 0)

Edits an existing person in the address book. +
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`
Examples:

****
* Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index *must be a positive integer* 1, 2, 3, ...
* At least one of the optional fields must be provided.
* Existing values will be updated to the input values.
* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
* You can remove all the person's tags by typing `t/` without specifying any tags after it.
****
* `event John’s Birthday -d 19/09/2019`
* `event John’s Birthday -d 19/09/2019 -r at 2pm`
* `event John’s Birthday -d 19/09/2019 -p high -t friend`

=== Adding a reminder: `reminder`

Adds a reminder to the reminder list
Format: `reminder DESCRIPTION -d DATETIME [-p PRIORITY] [-t TAG]...`

[TIP]
A reminder can have any number of tags (including 0)

Examples:

* `reminder John’s Birthday -r 19/09/2019 14:00`
* `reminder John’s Birthday -r 19/09/2019 14:00 -p high -t friend`

=== Show the specified category : `show`

Shows the specified category. For example show -t will show the tasks list and show -e will show the events list. The view will be toggled between the respective pages.
Format: `show [-t] [-e] [-c] [-r] (at least one and only one flag must be used with this command)''

Examples:

* `edit 1 p/91234567 e/[email protected]` +
Edits the phone number and email address of the 1st person to be `91234567` and `[email protected]` respectively.
* `edit 2 n/Betsy Crower t/` +
Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags.
* `show -t`
* `show -e`
* `show -r`
* `show -c`

=== Locating persons by name: `find`
=== Editing an item : `edit`

Finds persons whose names contain any of the given keywords. +
Format: `find KEYWORD [MORE_KEYWORDS]`
This command is used to edit any of the items that you might have. However, you are only able to edit the item when the list is currently in view. For example, you are able to edit a task when the current view is that of the task list as index is used to reference the item. However, you are not able to edit a task for the event list.
+
Format: `edit INDEX [-td DESCRIPTION] [-ed DESCRIPTION] [-rd DESCRIPTION] [-d DATETIME] [-r REMINDER] [-p PRIORITY] [-t TAG]...`

****
* 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 the name is searched.
* 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). e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`
* Edits the task at the specified `INDEX`. The index refers to the index number shown in currently viewed list. The index *must be a positive integer* 1, 2, 3, ...
* At least one of the optional fields must be provided.
* Existing values will be updated to the input values.
* When editing tags, the existing tags of the item will be removed i.e adding of tags is not cumulative.
* You can remove all the item's tags by typing `t/` without specifying any tags after it.
****

Examples:

* `find John` +
Returns `john` and `John Doe`
* `find Betsy Tim John` +
Returns any person having names `Betsy`, `Tim`, or `John`
* `edit 1 -td read books -d by tmr` +
Edits the task description and deadline of the 1st task to be `read books` and `by tmr` respectively.
* `edit 3 -ed CS2103 team meeting -p high` +
Edits the event description and the priority of the 2nd event to be `CS2103 team meeting` and `high` respectively.

// tag::delete[]
=== Deleting a person : `delete`
=== Deleting a reminder/task/event : `delete`

Deletes the specified person from the address book. +
Deletes the reminder/task/event from the ELISA. +
Format: `delete INDEX`

****
* Deletes the person at the specified `INDEX`.
* The index refers to the index number shown in the displayed person list.
* The index refers to the index number shown in the list.
* The index *must be a positive integer* 1, 2, 3, ...
****

Examples:

* `list` +
* `show -r` +
`delete 2` +
Deletes the 2nd person in the address book.
* `find Betsy` +
`delete 1` +
Deletes the 1st person in the results of the `find` command.
Deletes the 2nd reminder in the shown reminder list.

// end::delete[]
=== Clearing all entries : `clear`

Clears all entries from the address book. +
Format: `clear`

=== Exiting the program : `exit`

Exits the program. +
Format: `exit`

=== Saving the data

Address book data are saved in the hard disk automatically after any command that changes the data. +
ELISA saves the data in the hard disk automatically after any command that changes the data.
There is no need to save manually.


// tag::dataencryption[]
=== Encrypting data files `[coming in v2.0]`

_{explain how the user can enable/disable data encryption}_
// end::dataencryption[]

== FAQ

*Q*: How do I transfer my data to another Computer? +
*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 Address Book folder.

== Command Summary

* *Add* `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +
e.g. `add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague`
* *Clear* : `clear`
* *Delete* : `delete INDEX` +
e.g. `delete 3`
* *Edit* : `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...` +
e.g. `edit 2 n/James Lee e/[email protected]`
* *Find* : `find KEYWORD [MORE_KEYWORDS]` +
e.g. `find James Jake`
* *List* : `list`
* *Help* : `help`

0 comments on commit 504d38d

Please sign in to comment.