Skip to content

Commit

Permalink
Update User Guide (#108)
Browse files Browse the repository at this point in the history
* Planner: Initialize weekType for each Day

* Planner: Fix Codacy issue

* Planner: Update code for initialisation of semester

* Planner: Fix Codacy and checkstyle issues

* Planner: Fix build error

* Planner: Dynamic generation of semester from date

* PlannerTest: Add JUnit test for generateSemester

* Update documentation for view command

* Add view command for monthly calendar view

* Fix Codacy issue

* UserGuide: Update user guide documentation

* UserGuide: Update user guide documentation

* UserGuide: Update user guide documentation

* UserGuide: Update user guide documentation

* UserGuide: Update user guide documentation
  • Loading branch information
dingheng4448 authored and marcus-pzj committed Mar 21, 2019
1 parent 1080827 commit 5495ead
Showing 1 changed file with 24 additions and 59 deletions.
83 changes: 24 additions & 59 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,21 @@ endif::[]
By: `Team T08-3` Since: `Jan 2019` Licence: `MIT`

== Introduction

Welcome to _PlanMySem_! Choose a topic from the table of contents to learn about available features with examples, find answers or view a summary of the commands.
Welcome to _PlanMySem_!

_PlanMySem_ is a text-based (Command Line Interface) scheduling/calendar application that targets NUS students and staff who prefer to use a desktop application for managing their schedule/calendar.
_PlanMySem_ automatically creates a planner that is synchronised according to the NUS academic calendar for the current semester and enables easy creation, editing and deleting of items.
Special weeks such as recess week and reading week are taken into account within our unique recursion system.
Items can then be efficiently managed via the intuitive tagging system.

_PlanMySem_ is optimized for those who prefer to work with a Command Line Interface (CLI) and/or are learning to work more efficiently with CLI tools. Additionally, unlike traditional calendar/scheduling applications, _PlanMySem_ utilizes minimal resources on the user’s machine while still allowing the user to view their schedules swiftly and efficiently.

This user guide provides a quick start guide for you to easily setup and install _PlanMySem_, documentation of all the various features _PlanMySem_ offers, frequently asked questions and a summary of the available commands.
{zwsp}

{zwsp}

=== Terminology
== About this User Guide
This user guide provides a quick start guide for you to easily setup and install _PlanMySem_, documentation of all the various features _PlanMySem_ offers, frequently asked questions and a summary of the available commands. To navigate between the different sections, you could use the table of contents above.

For ease of communication, this document will refer to lessons/activities/events/appointments that you might add into the planner as _slots_.

Additionally, throughout this user guide, there will be various icons used as described below.
Expand All @@ -59,6 +58,7 @@ This is a rule. Ensure that you follow these rule to make your life using _PlanM
{zwsp}

== Quick Start
This section guides you through the installation of _PlanMySem_ and provides a few example commands you may try.

. Ensure you have Java version `9` or later installed in your Computer.
. Download the latest `planmysem.jar` link:{repoURL}/releases[here].
Expand All @@ -74,9 +74,9 @@ E.g. typing *`help`* and pressing kbd:[Enter] will open the help window.
. Some example commands you can try:

* **`add`**`n/CS2113T d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial` : +
Add a slot, named "CS2113T" on the coming monday, from 0800hrs to 0900hrs with the tags "CS2113T" and "Tutorial".
* *`list`*`n/CS2113T` : list all slots named "CS2113T"
* **`delete`**`3` : delete the 3rd slot shown in the current list
Add a _slot_, named "CS2113T" on the coming monday, from 0800hrs to 0900hrs with the tags "CS2113T" and "Tutorial".
* *`list`*`n/CS2113T` : list all _slots_ named "CS2113T"
* **`delete`**`3` : delete the 3rd _slot_ shown in the current list
* *`exit`* : exit the app

. Refer to <<Features>> for details of each command.
Expand All @@ -86,14 +86,13 @@ Add a slot, named "CS2113T" on the coming monday, from 0800hrs to 0900hrs with t

[[Features]]
== Features

This section displays the features of _PlanMySem_.
This section displays the available features of _PlanMySem_ together with examples for you to refer to.

*Tagging System*

Unlike other commercial calendar/scheduling/planner software, _PlanMySem_ makes use of a tagging system to manage slots.
Unlike other commercial calendar/scheduling/planner software, _PlanMySem_ makes use of a tagging system to manage _slots_.

Using tags to tag slots will make tasks easier for you in the future. Performing tasks such as viewing, deleting and editing slots will be more efficient.
Using tags to tag _slots_ will make tasks easier for you in the future. Performing tasks such as viewing, deleting and editing _slots_ will be more efficient.

Recommended uses for tags:

Expand All @@ -104,9 +103,9 @@ Recommended uses for tags:

*Recursion System*

Recursion facilitates quick addition of multiple slots, similar to Microsoft Outlook's series of appointments.
Recursion facilitates quick addition of multiple _slots_, similar to Microsoft Outlook's series of appointments.

In NUS, academic semesters are split into weeks of several types. Recursion allows you to add slots to these types of weeks with ease through the use of the `r/`(recursion) parameter.
In NUS, academic semesters are split into weeks of several types. Recursion allows you to add _slots_ to these types of weeks with ease through the use of the `r/`(recursion) parameter.

*Command Format*

Expand Down Expand Up @@ -134,7 +133,7 @@ The table of Identifiers and Parameters and their descriptions (Table 1) below i
|`KEYWORD` |Text that are part of the name of a _slot_ |Text |`n/CS`
|`l/` |`LOCATION` |Location of a _slot_ |Text |`l/COM2 04-22`
|`des/` |`DESCRIPTION` |Description of a _slot_ |Text |`des/Topic: Abstraction`
|`t/` |`TAG` |Tag of a _slot_ |Text |`nt/Lab`
|`t/` |`TAG` |Tag of a _slot_ |Text |`t/Lab`

.4+|`d/`
.2+|`DATE` .2+|Date
Expand All @@ -150,8 +149,8 @@ The table of Identifiers and Parameters and their descriptions (Table 1) below i

.3+|`et/`
.2+|`END_TIME` .2+|End Time
|Time in 24-Hour format, `hh:mm` |`e/23:00`
|Time 12-Hour format, `hh:mm+AM\|PM` |`e/11:00 PM`
|Time in 24-Hour format, `hh:mm` |`et/23:00`
|Time 12-Hour format, `hh:mm+AM\|PM` |`et/11:00 PM`
|`DURATION` |Duration from Start Time |Number of minutes |`et/60`

.5+|`r/` .5+|`RECURRENCE`
Expand All @@ -163,22 +162,17 @@ The table of Identifiers and Parameters and their descriptions (Table 1) below i
|=======================================================================

[TIP]
====
You may order identifiers and parameters in any fashion and you will still be able to achieve what you want!
So, do not bother thinking about where to place parameters as ordering does not matter, instead become more efficient and save your time!
====

[IMPORTANT]
====
Identifiers may be appended with a `n` to dictate "new". +
E.g. `nt/NEW_TAG` signifies new tags in which you want to replace existing tags with.
====

[CAUTION]
====
While this table 1 shows you all the identifiers and parameters that _PlanMySem_ uses, there are some commands that do not make use of identifiers nor parameters.
While table 1 shows you all the identifiers and parameters that _PlanMySem_ uses, there are some commands that do not make use of identifiers nor parameters.
The view command is one such exception that make use of keywords that must be typed in a specific order.
====

//
//[horizontal]
//====
Expand Down Expand Up @@ -233,7 +227,6 @@ image::Help_Command_Output.png[width="790"]
[[add]]
=== Adding Slots : `add` / `a`
Add _slot(s)_ to the planner. +
Format: `add n/NAME d/DATE_OR_DAY_OF_WEEK st/START_TIME et/END_TIME_OR_DURATION +
[l/LOCATION] [des/DESCRIPTION] [r/normal] [r/recess] [r/reading] [r/exam] [r/past] [t/TAG]...`
Expand All @@ -248,22 +241,19 @@ Add a _slot_, named "CS2113T Tutorial" on the coming monday, from 0800hrs to 090
image::Add_Command_Output_1.png[width="790"]
* `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial r/recess r/reading` +
Do the same but additionally, recurse the slot on recess and reading week.
Do the same but additionally, recurse the _slot_ on recess and reading week.
* `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial r/normal` +
Do the same but recurse the slot on "normal", instructional, weeks.
Do the same but recurse the _slot_ on "normal", instructional, weeks.
[TIP]
====
You may add single _slots_ by omitting the `r/` identifiers and its parameters.
====
{zwsp}
{zwsp}
[[edit]]
=== Editing Slots: `edit` / `e`
Edit _slot(s)_.
1. Edit _slot(s)_ which contains certain _tag_(s). +
Expand All @@ -272,15 +262,13 @@ Format: `edit t/TAG... [nn/NEW_NAME] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURA
Format: `edit INDEX [nn/NEW_NAME] [nd/NEW_DATE] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [nd/NEW_DESCRIPTION] [nt/NEW_TAG]...`
[NOTE]
====
You will not be able to edit a slot's date when editing via _tags_. +
You will not be able to edit a _slot_'s date when editing via _tags_. +
To edit a _slot_'s date, you may use the `list` or `find` command and edit specific _slot(s)_ via index.
====
Examples:
* `edit t/CS2113T t/Tutorial nl/COM2 04-01` +
Edit slots that contain tags "CS2113T" and "Tutorial", set these _slot's_ location to "COM2 04-01".
Edit _slots_ that contain tags "CS2113T" and "Tutorial", set these _slot's_ location to "COM2 04-01".
[#img-edit]
.[.underline]#Output after entering `edit t/CS2113T t/Tutorial nl/COM2 04-01`#
Expand All @@ -294,14 +282,13 @@ Edit the first item from the previous result of the `list` or `find` command.
[[delete]]
=== Delete Slots: `delete` / `del` / `d`
1. Delete _slot(s)_ which contains certain _tag_(s). +
Format: `delete t/TAG...`
2. Delete _slot_ via the `list` command. +
Format: `delete INDEX`
[TIP]
You may delete a specific slot by using the `list` or `find` command and select the specific _slot_ via index.
You may delete a specific _slot_ by using the `list` or `find` command and select the specific _slot_ via index.
Examples:
Expand All @@ -320,8 +307,7 @@ Delete the second _slot_ shown via the `list` command.
[[list]]
=== Listing Slots: `list` / `l`
Lists all slots whose name directly matches the specified keyword (not case-sensitive). +
Lists all _slots_ whose name directly matches the specified keyword (not case-sensitive). +
Format: `list n/NAME`
Examples:
Expand All @@ -338,7 +324,6 @@ image::List_Command_Output_1.png[width="790"]
[[find]]
=== Locating Slots: `find` / `f`
Find all _slots_ whose part of their name contains the specified keyword and displays them as a list. +
Format: `find n/KEYWORD`
Expand All @@ -356,7 +341,6 @@ image::Find_Command_Output_1.png[width="790"]
[[view]]
=== View the Planner : `view` / `v`
View the planner in a month/week/day view.
1. View the monthly calendar view of the current academic semester. +
Expand All @@ -369,10 +353,8 @@ Format: `view day [DATE]`
Format: `view all`
[TIP]
====
You may omit `[MONTH]`/`[WEEK]`/`[DATE]` to view the format chosen in respect to the current day! +
E.g. `view month` will allow you to view the current month and `view day` will allow you to view the current day!
====
Examples:
Expand All @@ -399,7 +381,6 @@ View all the details in the planner.
[[history]]
=== Listing previous input commands : `history` `[coming in v2.0]`
Lists all the commands that you have entered in reverse chronological order. +
Format: `history`
{zwsp}
Expand All @@ -408,20 +389,17 @@ Format: `history`
[[undo]]
=== Undoing previous command : `undo` `[coming in v2.0]`
Restores the planner to the state before the previous command was executed. +
Format: `undo`
[TIP]
The `clear` command cannot be undone.
{zwsp}
{zwsp}
[[redo]]
=== Redoing the previously undone command : `redo` `[coming in v2.0]`
Reverses the most recent `undo` command. +
Format: `redo`
{zwsp}
Expand All @@ -430,15 +408,13 @@ Format: `redo`
[[encrypt]]
=== Encrypting/decrypting data files
Planner data is automatically encrypted before saving and decrypted before loading. You do not need to encrypt or decrypt he data manually.
{zwsp}
{zwsp}
[[import]]
=== Importing .ics formatted files `[coming in v2.0]`
You can import an .ics file into the planner.
Format: `import FILENAME`
{zwsp}
Expand All @@ -447,7 +423,6 @@ Format: `import FILENAME`
[[export]]
=== Exporting .ics formatted files: `export`
You can export the planner as a .ics file.
[#img-export]
Expand All @@ -469,33 +444,25 @@ A file with the ICS file extension is an iCalendar file.
These are plain text files that include calendar event details like a description, beginning and ending times, location, etc.
{zwsp}
{zwsp}
{zwsp}
{zwsp}
[[clear]]
=== Clear all data : `clear`
Clear all data stored on the planner. +
Format: `clear`
[#img-find]
.[.underline]#Output after entering `clear`#
image::Clear_Command_Output_1.png[width="790"]
{zwsp}
[NOTE]
====
The `clear` command cannot be undone! Your data will be permanently removed once `clear` is executed.
====
{zwsp}
{zwsp}
[[exit]]
=== Exiting the program : `exit`
Exits the program. +
Format: `exit`
{zwsp}
Expand All @@ -504,15 +471,13 @@ Format: `exit`
[[save]]
=== Saving the data
Planner data is saved in the hard disk automatically after any command that changes the data is executed. +
There is no need to save manually.
{zwsp}
{zwsp}
== FAQ
*Q*: How do I transfer my data to another Computer? +
*A*: In order to transfer your data to another Computer, you should:
Expand Down

0 comments on commit 5495ead

Please sign in to comment.