forked from nusCS2113-AY1819S2/addressbook-level3
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* FIx Bug in FindCommand (#97) Fix Bug in FindCommand * Update User Guide documentation (#98) * Update User Guide documentation (#99) * 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
- Loading branch information
1 parent
df182f9
commit 10d7515
Showing
3 changed files
with
107 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,30 +18,36 @@ By: `Team T08-3` Since: `Jan 2019` Licence: `MIT` | |
|
||
== Introduction | ||
|
||
PlanMySem is a CLI (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. | ||
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. | ||
|
||
_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. | ||
_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. | ||
|
||
== Quick Start | ||
|
||
. Ensure you have Java version `9` or later installed in your Computer. | ||
. Download the latest `planmysem.jar` link:{repoURL}/releases[here]. | ||
. Copy the file to the folder you want to use as the home folder for your planner. | ||
. Double-click the file to start the app. The GUI should appear in a few seconds. | ||
. Double-click the file to start the app. You should see the GUI appear in a few seconds. | ||
+ | ||
image::Ui.png[width="790"] | ||
+ | ||
. Type the command in the command box and press kbd:[Enter] to execute it. + | ||
e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. | ||
. Some example commands you can try: | ||
|
||
* *`list`* : lists all contacts | ||
* **`add`**`n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01` : adds a contact named `John Doe` to the Address Book. | ||
* **`delete`**`3` : deletes the 3rd contact shown in the current list | ||
* *`exit`* : exits the app | ||
|
||
* **`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 | ||
* *`exit`* : exit the app | ||
|
||
. Refer to <<Features>> for details of each command. | ||
|
||
|
@@ -54,33 +60,33 @@ This section displays the current implemented features as well as features that | |
*Command Format* | ||
* Words in UPPER_CASE are the parameters to be supplied by the user. E.g. in `t/TAG`, `TAG` is a parameter which can be used as the name of the tag. | ||
* Items in square brackets are optional. e.g add act NAME `[c/NAME]`. | ||
* 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/lab`, `t/lecture`, `t/tutorial` etc. | ||
* Parameters can be in any order e.g. if the command specifies `st/START_TIME et/END_TIME d/DATE`, then both `et/09:00 st/08:00 d/2-13-2019` and `et/09:00 d/2-13-2019 st/08:00` is also acceptable. | ||
* Items in square brackets are optional. e.g in `add n/NAME [l/LOCATION]`, `LOCATION` is an optional parameter and is not required to successfully run the command. | ||
* Items with `…` after them can be used multiple times including zero times e.g. `[t/TAG]…` can be used 0 times, or as `t/lab`, `t/lecture`, `t/tutorial` etc. | ||
* Parameters can be in any order e.g. if the command specifies `st/START_TIME et/END_TIME d/DATE`, then both `et/09:00 st/08:00 d/2-13-2019` and `et/09:00 d/2-13-2019 st/08:00` are acceptable. | ||
*Paramters* | ||
*Parameters* | ||
Parameters in PlanMySem were designed to be, short and easy to memorise. Once familarised with, they should be intuitive to use. | ||
Below is the list of parameters for users such as yourself to jump right into grasping the system. | ||
Parameters in _PlanMySem_ are designed to be, short and easy to memorise. Once you are familarised with them, they should be intuitive to use. | ||
The list of parameters below is useful for your reference as you jump right into grasping the system. | ||
[horizontal] | ||
*Parameter*:: *Description* | ||
`n/`:: *Name specific to the object at hand.* | ||
`n/`:: *Name of an activity _slot_.* | ||
`d/`:: *Date / Day of week.* + | ||
Format: + | ||
* Dates: `01-01`, `2019-01-02` | ||
* Day of Week: `Monday`, `mon`, `1` | ||
`st/`:: *Start Time.* | ||
`st/`:: *Start Time.* + | ||
Format: + | ||
* 24-Hour in the form of “hh:mm”. e.g. `23:00` | ||
* 12-Hour in the form of `hh:mm+AM|PM`. e.g. `12:30 AM` | ||
`et/`:: *End Time / duration.* + | ||
Format: | ||
Format: + | ||
* 24-Hour in the form of “hh:mm”. e.g. `23:00` | ||
* 12-Hour in the form of `hh:mm+AM|PM`. e.g. `12:30 AM` | ||
* Duration of the event in minutes. e.g. `60` represents 60 minutes | ||
`r/`:: *recurrence.* + | ||
Format: | ||
`r/`:: *Specify recurrence of an activity _slot_.* + | ||
Format: + | ||
* Select normal weeks: `normal` | ||
* Select recess week: `recess` | ||
* Select reading week: `reading` | ||
|
@@ -89,7 +95,7 @@ Below is the list of parameters for users such as yourself to jump right into gr | |
`l/`:: *Location.* | ||
`des/`:: *Description.* | ||
`t/`:: *Tag.* | ||
`nn/`:: *New name of the object at hand.* | ||
`nn/`:: *New name of an activity _slot_.* | ||
`nd/`:: *New Date.* | ||
`nst/`:: *New Start Time.* | ||
`net/`:: *New End Time.* | ||
|
@@ -98,7 +104,7 @@ Below is the list of parameters for users such as yourself to jump right into gr | |
==== | ||
|
||
=== Viewing help : `help` | ||
|
||
Displays all the available commands with the syntax and examples. + | ||
Format: `help` | ||
|
||
=== Adding Slots : `add` / `a` | ||
|
@@ -108,16 +114,19 @@ 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]...` | ||
|
||
Examples: | ||
|
||
* `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial` + | ||
Add a _slot_, named "CS2113T Tutorial" on the coming monday, from 0800hrs to 0900hrs with the tags "CS2113T" and "Tutorial". | ||
|
||
* `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. | ||
|
||
* `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. | ||
|
||
[NOTE] | ||
==== | ||
You may add single slots by neglecting the recurrence parameters. | ||
You may add single _slots_ by omitting the recurrence parameter. | ||
==== | ||
|
||
=== Editing Slots: `edit` / `e` | ||
|
@@ -158,7 +167,7 @@ Examples: | |
|
||
* `delete t/CS2113T t/Tutorial` + | ||
Delete _slots_ that contain tags "CS2113T" and "Tutorial". | ||
* `list delete 2` + | ||
* `delete 2` + | ||
Delete the second _slot_ shown via the `list` command. | ||
|
||
=== Listing Slots: `list` / `l` | ||
|
@@ -189,22 +198,29 @@ Format: `find [KEYWORD]...` | |
Example: | ||
* `find CS` | ||
* `find CS` + | ||
Find all _slots_ whose name contains `CS` (eg. CS1010, CS2113T, SCS1010) | ||
=== View the Planner : `view` | ||
=== View the Planner : `view` / `v` | ||
View the planner in a month/week/day view. | ||
View the planner according to day/week/month. + | ||
Format: `view day DATE | view week WEEK | view month MONTH | view all` | ||
1. View the monthly calendar view of the current academic semester. + | ||
Format: `view month [MONTH]` | ||
2. View the weekly calendar view of the current academic week. + | ||
Format: `view week [WEEK]` | ||
3. View the day view of a particular day in the academic semester. + | ||
Format: `view day [DATE]` | ||
4. View all the details in the planner. + | ||
Format: `view all` | ||
[NOTE] | ||
==== | ||
. If no date is given, the current date is assumed. | ||
. If the `all` option is specified, the planner will not be displayed, instead all the details in the planner will be displayed. | ||
If MONTH/WEEK/DATE is not specified, the current date is assumed. | ||
==== | ||
Example: | ||
Examples: | ||
* `view day` + | ||
View planner for the current date. | ||
|
@@ -220,10 +236,10 @@ View planner for the month of March. | |
View all the details in the planner. | ||
=== Listing previous inputted commands : `history` | ||
=== Listing previous input commands : `history` | ||
Lists all the commands that you have entered in reverse chronological order. + | ||
Format: history | ||
Format: `history` | ||
=== Undoing previous command : `undo` | ||
|
@@ -232,7 +248,7 @@ Format: `undo` | |
[NOTE] | ||
==== | ||
Some commands are undoable. e.g. `wipe PlanMySem`. | ||
The `clear` command cannot be undone. | ||
==== | ||
=== Redoing the previously undone command : `redo` | ||
|
@@ -245,21 +261,27 @@ Format: `redo` | |
Clear all data stored on the planner. + | ||
Format: `clear` | ||
[WARNING] | ||
==== | ||
The `clear` command cannot be undone! Your data will be permanently removed once `clear` is executed. | ||
==== | ||
=== Exiting the program : `exit` | ||
Exits the program. + | ||
Format: `exit` | ||
=== 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. | ||
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. | ||
=== Encrypting/decrypting data files | ||
Planner data is automatically encrypted before saving. There is no need to encrypt the data manually. | ||
Planner data is automatically encrypted before saving. You do not need to encrypt the data manually. | ||
Planner data is automatically decrypted before loading. There is no need to decrypt the data manually. | ||
Planner data is automatically decrypted after loading. You do not need to decrypt the data manually. | ||
// tag::importICS[] | ||
=== Importing .ics formated files `[coming in v2.0]` | ||
|
@@ -268,58 +290,58 @@ Planner data is automatically decrypted before loading. There is no need to decr | |
_{explain how the user can import .ics formatted files}_ | ||
// end::importICS[] | ||
=== Exporting .ics formated files: `export` | ||
=== Exporting .ics formatted files: `export` | ||
Exports planner as a .ics file. | ||
Format: `export` | ||
You can export the planner as an .ics file. | ||
[NOTE] | ||
==== | ||
The exported file is named "PlanMySem.ics" and is saved in the main directory. | ||
Double-clicking the .ics file will import the planner data into your personal calendar app. + | ||
==== | ||
[NOTE] | ||
==== | ||
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. | ||
==== | ||
== 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 PlanMySem folder. | ||
*A*: In order to transfer your data to another Computer, you should: | ||
1. Install the app on the other computer + | ||
2. Copy _PlanMySem.txt_ from your old _PlanMySem_ folder and paste it into the new _PlanMySem_ folder. + | ||
This will overwrite the empty data file it creates with the file that contains the data of your previous _PlanMySem_ folder. | ||
== Command Summary | ||
* *View help* `help` + | ||
* *Add category* : `add cat n/NAME [n/MORE_NAMES]...` + | ||
e.g. `add cat n/Sports n/Study Groups n/Interest Groups` + | ||
* *List category* : `list cat` | ||
* *Edit category* : `edit cat n/NAME nn/NEW_NAME` + | ||
e.g. `edit n/Sports nn/Frisbee` | ||
* *Delete category* : `del cat n/NAME [n/MORE_NAMES]...` + | ||
e.g. `del cat n/Sports n/Interest Groups` | ||
* *Add activity* : `add act n/NAME c/CATEGORY` | ||
e.g. `add act n/CS2101 c/modules` | ||
* *List activities* : `list act` | ||
* *Edit activity* : `edit act n/NAME [nn/NEW_NAME] [nc/NEW_CATEGORY]` + | ||
e.g.`edit act n/CS2103 nn/CS2113T nc/hard module` | ||
* *Delete activity* : `del act n/NAME [n/MORE_NAMES]...` + | ||
e.g.`del act n/CS2101 n/CS2100` | ||
* *Add slot* : `add slot a/ACTIVITY_NAME d/DAY t/TIME [r/norecess] [r/noreading] [r/nonormal] [r/recess] [r/reading] [r/normal] [tag/TAG]...` + | ||
e.g.`add slot a/CS2101 d/monday t/0800-0900 r/norecess r/noreading r/normal tag/hard module` | ||
* *List slots* : `list slot [c/CATEGORY_NAME]... [a/ACTIVITY_NAME]...` + | ||
e.g.`list slot c/modules c/sports a/running group` | ||
* *Edit slot* : `edit slot a/ACTIVITY_NAME d/DAY t/TIME [a/NEW_ACTIVITY_NAME] [nd/NEW_DAY] [nt/NEW_TIME] [r/norecess] [r/noreading] [r/nonormal] [r/recess] [r/reading] [r/normal]` + | ||
e.g.`edit slot n/CS2103T d/monday t/0800-0900 nn/CS2113T nd/tuesday r/noreading` | ||
* *Delete slot* : `del slot a/ACTIVITY_NAME d/DAY t/TIME` + | ||
e.g.`del slot a/CS2113T d/monday t/0800-0900` | ||
* *Find categories/activities/tag* : `find k/KEYWORD [k/MORE_KEYWORDS]... [c/CATEGORY_NAME]... [a/ACTIVITY_NAME]... [tag/TAG_NAME]...` + | ||
e.g.`find frisbee c/sports` | ||
* *Delete category/activity/tag* : `del [c/CATEGORY]... [a/ACTIVITY]... [tag/TAG]...` + | ||
e.g.`del c/CS2113T a/frisbee t/hard module` | ||
* *View help* : `help` + | ||
* *Add Slot* : `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]…` + | ||
e.g. `add n/CS2113T Tutorial d/mon st/08:00 et/09:00 des/Topic: Sequence Diagram t/CS2113T t/Tutorial` + | ||
* *List Slot(s)* : `list n/NAME` + | ||
eg. `list n/CS2113T` | ||
* *Edit Slot* : + | ||
1. Via tags: `edit t/TAG... [nn/NEW_NAME] [nst/NEW_START_TIME] [net/NEW_END_TIME|DURATION] [nl/NEW_LOCATION] [nd/NEW_DESCRIPTION] [nt/NEW_TAG]...` + | ||
e.g. `edit t/CS2113T t/Tutorial nl/COM2 04-01` | ||
2. Via `list` command: `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]...` + | ||
e.g. `edit 1 des/Topic: Sequence Diagram` | ||
* *Delete Slot* : + | ||
1. Via tags: `delete t/TAG…` + | ||
eg. `delete t/CS2113T t/Tutorial` | ||
2. Via `list` command: `delete INDEX` + | ||
eg. `delete 2` | ||
* *Find Slots* : `find [KEYWORD]…` + | ||
e.g. `find CS` | ||
* *View planner* : `view day [DATE] | view week [WEEK] | view month [MONTH]` + | ||
e.g.`view day 01/04/2019` | ||
* *View all details* : `view all` + | ||
e.g.`view all` | ||
e.g.`view month` | ||
* *View all details* : `view all` | ||
* *View history* : `history` | ||
* *Undo previous command* : `undo` | ||
* *Redo previously undone co* : `redo` | ||
* *Wipe all data* : `wipe PlanMySem` | ||
* *Redo previously undone command* : `redo` | ||
* *Clear all data* : `clear` | ||
* *Exit the program* : `exit` | ||
* *Export .ics files* : `export` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters