Skip to content

Latest commit

 

History

History
432 lines (281 loc) · 15.6 KB

UserGuide.adoc

File metadata and controls

432 lines (281 loc) · 15.6 KB

ELISA - User Guide

1. Introduction

ug introduction

Hello, I am an Extremely Loud and Intelligent Student Assistant (ELISA)!

I am here to be your intelligent companion that keeps track of your tasks and remind you to take breaks.

Although I am optimized for those who prefer to work with a Command Line Interface (CLI), I also have a Graphical User Interface (GUI). If you can type fast, I can get your tasks done faster than traditional GUI apps.

Enjoy!

2. Quick Start

ug quickstart
  1. Have you installed Java 11 ?

  2. Find me, ELISA.jar here.

  3. Double-click me to start the app. See you in a few seconds.

    MainWindow
  4. Tell me what to do in the command box!

  5. Want to know more about me? A detailed explanation of me is at Section 4, “Features”

3. Legend

ug legend

4. Features

Now we’ll be presenting what you’ve been waiting for…​ our features!
But hold on, to fully appreciate our features, you might want to go through some of the command guidelines first.
These are some mistakes that our users(and even us) would make initially, and they can be really unpleasant, so we hope that you won’t have to go though them. For your viewing pleasure, we’ve collated it nicely into a quick starter pack below, let’s start!

ug features

This table shows the basic rules for the formatting the input:

Table 1. Command Guidelines

Guidelines:

Description:

Correct usage:

Words in UPPER_CASE are the parameters to be supplied by the user

If given task DESCRIPTION description is to be provided.

task shower

All flags MUST have a space after them

task shower -d10.min.later is incorrect. It should be task shower -d 10.min.later

task shower -d 10.min.later

Flags in square brackets are optional

If given task DESCRIPTION [-t TAG] tag is optional

task shower task shower -t clean

Flags can be in any order, given that they are accepted by the command

If given task DESCRIPTION [-d DATETIME] [-r REMINDER] -r can come before -d

task shower -d 1.hour.later -r 30.min.later task shower -r 30.min.later -d 1.hour.later

Flags must not be repeated in the same input, unless it is a tag flag

task shower -p high -p low is incorrect as -p appears twice. However, task bathe -t fresh -t hygiene is accepted

task shower -p high

For the parser of mm.min.later, hh.hour.later, dd.day.later, the maximum allowed is 100

101.min.later is not accepted, however 100.min.later or 99.day.later are both accepted.

task study -d 99.day.later

This is a quick summary of all our flags.

For first time users:

  • You can choose to skip through this first as it may seem overwhelming now.

  • But as you go along the different sections and see new flags, it might be useful to refer to this as it can help you understand it’s accepted parameters.

For more experienced users:

  • This can be your best buddy! We understand that sometimes it can be troublesome to look through the entire guide just to find the flag you want.

Table 2. Flags Overview

Flag:

Parameter:

Parameter Format:

Possible Parameters:

Example Usage:

-d

DATETIME

yyyy-MM-ddTHHmm or dd/MM/yyyy HHmm or mm.min.later or HH.hour.later or dd.day.later

2019-09-25T19:34 or 25/09/2019 1934 or 10.min.later

-d 25/09/2019 1934

-r

REMINDER

yyyy-MM-ddTHHmm or dd/MM/yyyy HHmm or mm.min.later or HH.hour.later or dd.day.later

2019-09-25T19:34 or 25/09/2019 1934 or 10.min.later

-r 25/09/2019 1934

-p

PRIORITY

high, medium, low

HIGH, medium, LOW

-p high

-t

TAG

alphanumeric only

happy123

-t happy123

-desc

DESCRIPTION

alphanumeric and all symbols except "-"

drink 5 litres of water

-desc drink water!

-auto

PERIOD

day or month or week or mm.min.later or HH.hour.later or dd.day.later

day or week or month or 10.min.later

-auto 10.min.later

--tk

none

none

none

--tk

--e

none

none

none

--e

--r

none

none

none

--r

ℹ️
Not all tags work for every command. Please check the specific command for more details.

Here are the icons that will be used in the app:

Done shows that you’ve completed this task.
Not done shows that you have yet to complete this task.
Event shows that this is an Event with the date shown in its eyes.

Warning
All time dependent elements such as deadline, reminder and calendar time are dependent on the system time

If you face any issues, please check the Section 5, “Additional Notes”. If it is not mentioned there, then feel free to bring it up to us!

Now we are ready to jump into the features itself!

4.1. CLI Features

4.1.1. Adding a task: task

Adds a task to the task list
Format: task DESCRIPTION [-d DATETIME] [-r REMINDER] [-p PRIORITY] [-t TAG]

💡
To create a task quickly, just include the description as Task can have no flags (ie task shower).

Examples:

  • task eat my vitamins

  • task eat my vitamins -r 5.hour.later

  • task eat my vitamins -d 10.hour.later -p low -t healthy

4.1.2. Adding an event: event

Adds an event to events list and calendar
Format: event DESCRIPTION -d DATETIME [-r REMINDER] [-p PRIORITY] [-t TAG] [-auto PERIOD]

Examples:

  • event John’s Birthday -d 20/09/2019 1800

  • event John’s Birthday -d 20/09/2019 1800 -r 19/09/2019 1800

  • event John’s Birthday -d 3.day.later -r 2.day.later -p high -t friend

  • event CS2013T Quiz -d 11/11/2019 2359 -auto week

4.1.3. Adding a reminder: reminder

Adds a reminder to the reminder list
Format: reminder DESCRIPTION -r REMINDER [-t TAG]

Examples:

  • reminder John’s Birthday -r 19/09/2019 1400

  • reminder John’s Birthday -r 2019-09-19T14:00 -t friend

  • reminder John’s Birthday -r 3.day.later

ℹ️
It is not possible to set a reminder in the past.

4.1.4. Editing an item : edit

This command is used to edit any of the items that you might have.

Limitations
  • You are only able to edit the item currently shown in your view. For example, when you’re on the task list, you can only edit the tasks shown. You will not be able to edit events or reminders.

  • The new item with the edited fields must not already exist. Don’t worry if you can’t remember that, ELISA will remind you!

Format: edit INDEX [-desc DESCRIPTION] [-d DATETIME] [-r REMINDER] [-p PRIORITY] [-t TAG]…​

  • 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.

Examples:

  • edit 1 -desc read books -d 3.day.later -p low
    Edits item 1 of the current list. Changes the description to read books, deadline to 3.day.later and priority to low.

  • edit 3 -desc CS2103 team meeting -r 3.hour.later -p high
    Edits item 2 of the current list. Changes the description to CS2103 team meeting, reminder to 3.hour.later and priority to high.

4.1.5. Deleting a reminder/task/event : delete

Deletes the reminder/task/event from ELISA.
Format: delete INDEX

  • Deletes the item at the specified INDEX of the current list shown.

  • The index refers to the index number shown in the list.

  • The index must be a positive integer 1, 2, 3, …​

  • No flags should be given with this command.

Examples:

  • show r
    delete 2
    Deletes the 2nd reminder in the shown reminder list.

4.2. Reminder Feature

4.2.1. Snoozing a reminder: snooze

Snoozes a reminder that occurred since the application was open.
If an index is not provided, the most recently occurred reminder will be snoozed.
If a snooze duration is not specified, the reminder will be snoozed at the default duration of 5 min.
Format: 'snooze [INDEX] [-s SNOOZE_DURATION]'

Examples: * snooze 1 * snooze 3 -s 10.min.later * snooze -s 10/10/2020 1400

  1. It is possible to snooze the same reminder multiple times if you wish.

  2. It is not possible to snooze if no reminder has occurred yet.
    However, if you use the snooze command incorrectly, ELISA will first attempt to correct your usage of the snooze command.

4.3. Navigation Features

4.3.1. Show the specified category : show

Shows the specified category by switching the view to the given list.
Format: `show [t] [e] [c] [r] (Exactly one flag must be used with this command)''

ℹ️
The flag can be in either lowercase or uppercase. Eg. show E.

4.3.2. Scrolling the list : up / down

Scrolls the list up/down

4.4. Visual Features

4.4.1. Expanding an item in the view: open & close

Want to see all the details of an item at one glance? Lazy to go to event list or reminder list to find them? We got you!

You can now open up an item to see all its details, regardless of what list you are on. But remember to close it before opening another item!

Open format: open INDEX
Close format: close

Example sequence:

  • show T - to switch to the task view

  • open 2 - opens the second item on the list

  • close - closes the item

  • open 3 - opens the third item on the list (Note: If you forgot to close previously, no worries as ELISA will prompt you to!)

  • close - closes the item

Warning
Although, the ESC key can close too, we do not advise doing so as ELISA may be confused later on :(

4.4.2. Changing the theme : theme

Screen is too dark? Switch up the theme by typing theme white!

themewhite

Examples:

  • theme white

  • theme black

4.4.3. Clearing the screen : clearscreen and clear

Chat box getting too cluttered? Type clearscreen to clear it!

  • clear - clears all lists

  • clearscreen - clears the chat box

4.5. Calendar Feature

Sick of looking through lists of events? Type show c in the command box and your events will be magically placed into a calendar!

calendar

4.6. Entertainment Features

Too stressed from all the work? Check out these features to take a short break so that you can go further!

4.6.1. Play a game: game

game switches your list of tasks into a game of Snakes!

Snake

Rules:

Control your snake by pressing the key commands UP, DOWN, LEFT, RIGHT. Careful not to let your snake bit it’s own tail or it will be GAME OVER!

Hit ENTER to reset the game when your snake dies.

Pressing ESC key will exit the game and return you to your list of tasks!

4.6.2. Tell a joke: joke

Type joke in the command box and I will showcase my exceptional sense of humor and tell you a random joke!

4.7. Undo/Redo Feature

4.7.1. Undoing the latest modification(s) : undo

Reverts the latest commands given on the ELISA.
Format: undo

  • undo can only be done if commands have been executed

Examples:

  • undo
    Undoes the last command

4.7.2. Redoing the latest undone command(s) : redo

Re-executes the latest undone commands given on the ELISA.
Format: redo

  • redo can only be done if undo has already been executed

  • After undo, if a new command is executed then redo cannot be executed

Examples:

  • redo

4.7.3. Sorting ELISA out: sort

Is ELISA getting too cluttered and disorganized? Do you want to sort your task by their priority? Or the events by their start date?

ELISA comes in-built with a sort feature that allows you to sort your items within the different panel. And the best part of it? YOU can decide how you want to sort it.

The simple sort command on the different panel sorts the list differently (just another sign of how smart ELISA is) and they are as follows:

  • task panel - tasks are sorted from those that are incomplete to those that are completed. Within the two groups, they are sorted based on their priority, from high to medium and to low.

  • event panel - events are sorted based on their start date and time.

  • reminder - reminders are sorted based on their firing off date and time.

But why stop there? You are also able to sort by priority and description within all the panels and even combine different sorting together! You are only limited by your imagination (and the items within your lists).

Format: sort or sort <criteria>

Examples:

  • sort - a simple sort that follows the criteria mentioned above for the different panel.

  • sort priority - sorts the item within the panel by their priority (from high to low).

  • sort desc - sorts the item within the panel by their description (lexicographic order)

4.7.4. Finding a task: find

Is your task list getting too long and you are not able to find what you are looking for? Introducing the find function which will allow you to find what you want within the specific panel. Just type find and the keyword that you want to search for within the command box and ELISA will find the relevant items for you.

Format: find <keyword>

Examples:

  • find CS2101 - find all items that have CS2101 in their description within that panel

  • find CS2101 CS2103 - find items that contains either CS2101 or CS2103 within their description.

4.8. Entering priority mode: priority

Feeling stress? Too much task on your task list? Enter priority mode, a mode which will help you narrow down the most pressing task to be done.

By simply typing priority into the command box, you will be given one single task of the highest priority among your task list. This task is chosen by ELISA base on priority and the order in which the task was added to the list.

Feeling less stress? You can type priority again to bring you out of the priority mode and back into the normal task view. Or even better, finish all your undone task and you will be automatically brought out of priority mode.

Feeling lazy? You can also opt to turn off priority mode at a specific time by typing priority dd/mm/yyyy hhmm and ELISA will turn it off at that specific time for you.

Format: priority or priority dd/mm/yyyy hhmm

Examples:

  • priority - activates or deactivates the priority mode

  • priority 30/10/2019 1200 - activates the priority mode and ask ELISA to turn it off on 30/10/2019 at noon

  • priority 2.hours.later - activates the priority mode and ask ELISA to turn it off 2 hours later

  • Note that this command can only be called in the task panel.

  • Note that all command such as edit, undo and redo still works in priority mode.

4.9. Exiting the program : exit

Exits the program.
Format: exit

4.10. Saving 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.

4.11. Encrypting data files [coming in v2.0]

{explain how the user can enable/disable data encryption}

5. Additional Notes

5.1. Input

  • Currently, an empty input can be entered, but ELISA will show an invalid command.

5.2. Calendar

  • Currently, it only shows 2 events on each date due to limited space on the calendar. If there are more events on that date, to find them all, you can go to the event list and sort through it.

  • Currently, it only shows the current month. We are still working to bring the next month to you.

  • Please keep a full screen. If you resize, we are unable to guarantee the view of the calendar.