By: AY1920S1-CS2103T-T10-3
Since: Sep 2019
Licence: NUS
- 1. Introduction
- 2. Quick Start
- 3. Legend
- 4. Features
- 4.1. CLI Features
- 4.2. AutoReschedule Feature
- 4.3. Reminder Feature
- 4.4. Navigation Features
- 4.5. Visual Features
- 4.6. Calendar Feature
- 4.7. Entertainment Features
- 4.8. Asking ELISA for a joke :
joke
- 4.9. Undo/Redo Feature
- 4.10. Sort/Find/Priority Feature
- 4.11. Exiting the program :
exit
- 4.12. Saving the data
- 5. Additional Notes
- 6. Coming in V2.0
1. 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
-
Have you installed Java
11
? -
Find me,
ELISA.jar
here. -
Double-click me to start the app. See you in a few seconds.
Figure 1. Main window of ELISA -
Tell me what to do in the command box!
-
Want to know more about me? A detailed explanation of me is at Section 4, “Features”
3. Legend
Here are the icons that will be used in the app:
shows that you’ve completed this task.
shows that you have yet to complete this task.
What it creates: |
Example command: |
1) Task only |
task shower |
2) Event only |
event christmas -d 25/12/2019 0000 |
3) Reminder only |
reminder shower -r 10.min.later |
4) Task and Reminder |
task shower -r 10.min.later |
5) Event and Reminder |
event christmas -d 25/12/2019 0000 -r 24/12/2019 0000 |
6) Task and Event |
task CS2103T Quiz -d 11/11/2019 2359 |
7) Task, Event, Reminder |
task CS2103T Quiz -d 11/11/2019 2359 -r 10/11/2019 1200 |
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!
This table shows the basic rules for the formatting the input:
Guidelines: |
Description: |
Correct usage: |
Words in UPPER_CASE are the parameters to be supplied by the user |
If given |
|
All flags MUST have a space after them |
|
|
Flags in square brackets are optional |
If given |
|
Flags can be in any order, given that they are accepted by the command |
If given |
|
Flags must not be repeated in the same input, unless it is a tag flag |
|
|
For the parser of mm.min.later, hh.hour.later, dd.day.later, the maximum allowed is 100 |
|
|
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.
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 |
There are three other flags that do not take in any parameters and are only used for the edit command. They are listed below:
Flag: |
Meaning: |
--tk |
Used to delete a task attached to an item |
--e |
Used to delete an event attached to an item |
--r |
Used to delete a reminder attached to an item |
Not all tags work for every command. Please check the specific command for more details. |
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]
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
It is currently not possible to set a reminder for events with an autoreschedule flag. We intend to include this in v2.0 . |
4.1.3. 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] [--tk] [--e] [--r] [-t TAG]…
Now, you might wonder, what does --tk
, --e
, --r
do?
Haven’t you thought of how you would remove just a reminder of a task, or remove just the deadline of a task, without deleting the entire item?
Well this is just what you are looking for!
For an item with a task, event and reminder, --tk
removes the task portion while --e
removes the event portion while --r
removes the reminder portion.
For example, here is an item that is a task, with an event and a reminder:
After you enter edit 1 --e --r
, this is how the item would look:
Convenient isn’t it? As you can see, the event and reminder details are removed, which is precisely what we want.
But wait! The resultant item should not be totally empty! It just doesn’t make sense to have an empty item just hanging there in your list. There should have at least a task, event or reminder.
Well, if you can’t remember what fields can or cannot be removed, fret not. ELISA will be sure to tell you that:
Also, if you decide to edit something and remove the part in the same command, ELISA would just remove it as she believes that your command to remove it is more important.
For example, you decide to edit the reminder time and also remove the reminder with the command edit 1 -r 8.hour.later --r
:
As you can see, the reminder part is removed.
Here are some example commands for edit:
-
edit 1 -desc read books -d 3.day.later -p low
Edits item 1 of the current list. Changes the description toread books
, deadline to3.day.later
and priority tolow
. -
edit 3 -desc CS2103 team meeting -r 3.hour.later -p high
Edits item 2 of the current list. Changes the description toCS2103 team meeting
, reminder to3.hour.later
and priority tohigh
.
4.1.4. Deleting a reminder/task/event : delete
Deletes the reminder/task/event from ELISA.
Format: delete INDEX
Examples:
-
show r
delete 2
Deletes the 2nd reminder in the shown reminder list.
4.1.5. Completing a task: done
Mark a task at the specific index as done.
Format: done INDEX
Examples:
-
done 1
- Marks the task at index 1 as done.
4.1.6. Continuing with a task: continue
Mark a task at the specific index as undone.
Format: continue INDEX
Examples:
-
continue 1
- Marks the task at index 1 as undone. -
cont 1
- Short version of the above command
4.2. AutoReschedule Feature
Do you have to go to the supermarket weekly? Complete a quiz weekly? Jog daily? Well this would definitely make your life much easier!
Your events can now update its own time when it is already over! All you need to do is to add a -auto
flag, along with a time period.
Here is how you can do it. You might have weekly quizzes due on the same day every week, the command you can enter is event CS2103T Quiz -d 23/11/2019 2359 -auto week
.
This creates an event whose date will change every week.
Convenient isn’t it! Now you no longer have to manually change their dates after it is over.
That’s not it! If you add an AutoReschedule event with a date that is already over, ELISA would automatically update its date to show the upcoming one.
This is what I mean. If you add an event that is already over, eg. event quiz 11/08/2019 2359 -auto week
:
ELISA immediately changes it to show the upcoming date for this week. ELISA shows 10 NOV as it is 9 NOV at this point.
Also, are you worried that the events wouldn’t be updated if you leave the app? No worries as ELISA’s got you covered!
When you come back again, you would see that all the events that have AutoReschedule would show the upcoming date.
But there is a small drawback… AutoReschedule currently does not work with reminders. That means that if you add an -auto flag for an event, you would not be able to add a -r flag for reminders.
This also means that reminders cannot be created with the -auto flag. But you can look forward to this in V2.0 of ELISA!
|
For the rescheduling period, you can use hour
, day
, week
or the 10.min.later
format.
Here are some interesting commands you can try:
-
event grocery shopping -d 9/9/2019 1200 -auto week
-
event jog -d 23/11/2019 0800 -auto day
-
event smile -d 1.min.later -auto 1.min.later
(it’s good to be happy)
4.3. Reminder Feature
So focused on your work that you forget the other tasks in your life? Don’t worry! You can ask ELISA to remind you to do what you need to do, when you need to do it!
4.3.1. Adding a reminder: reminder
Simply add your reminder with this command:
reminder John’s Birthday -r 11/11/2019 1440
and ELISA will carry it out!
Once it’s time for you to be reminded, ELISA will remind you! Best of all, ELISA will play a chime so you won’t need to have ELISA open in order to be reminded!
More specifically, the reminder command format is: reminder DESCRIPTION -r REMINDER [-t TAG]
Here are some other ways you could use this command!:
-
reminder Finish UG -r 11/10/2019 1400
-
reminder Get John’s Birthday gift -r 2019-09-19T14:00 -t friend
-
reminder Study for 2103T Exam -r 3.day.later
-
It is currently not possible to set a reminder for events with an autoreschedule flag. We intend to include this in v2.0 .
-
It is not possible to set a reminder in the past.
-
4.3.2. Snoozing a reminder: snooze
If you’re in the groove of working but still want to be reminded again of a reminder that just occurred, you can use the snooze command!
snooze
will snooze the most recent reminder for a duration of time (5 minutes by default)
And ELISA will remind you again once it’s time!
More specifically the format of this command is: 'snooze [INDEX] [-s SNOOZE_DURATION]'
-
This snoozes a reminder.
-
The index refers to the it’s index in the reminder list.
-
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.
Here are some examples you can try out!
* snooze 1
* snooze 3 -s 10.min.later
* snooze -s 10/10/2020 1400
-
It is possible to snooze the same reminder multiple times if you wish.
-
It is not possible to snooze (without specifying index) 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.4. Navigation Features
4.4.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.4.2. Scrolling the list : up
/ down
Scrolls the list up/down
4.5. Visual Features
4.5.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
Although, the ESC key can close too, we do not advise doing so as ELISA may be confused later on :( |
4.5.2. Changing the theme : theme
Screen is too dark? Switch up the theme by typing theme white
!
Examples:
-
theme white
-
theme black
4.5.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.6. 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!
4.7. Entertainment Features
Too stressed from all the work? Check out these features to take a short break so that you can go further!
4.7.1. Play a game: game
game
switches your list of tasks into a game of Snakes!
There are 2 modes to the game: easy
and hard
. Type game hard
to enter the hard mode of the game!
Controls: UP
, DOWN
, LEFT
, RIGHT
EASY
EASY
New to the game? Try out the easy
mode, where all you have to do is collect the food, which is indicated by the pink box. Biting your own tail will result in GAME OVER! Be careful!
HARD
HARD
Find the game too easy? Enter the hard
mode and there will be 20 random walls (indicated by blue box) placed all around the game. Colliding with any of these walls will result in a GAME OVER! You will need to navigate through these walls to collect your food!
EXIT
Realised that you have played for too long and want to get back to work? Hitting the ESC
key will exit the game and return you to your list of tasks!
4.8. Asking ELISA for a joke : joke
Need to amuse yourself for a bit? Simply use the joke
command and ELISA will select a joke from her database for you to enjoy!
Example:
-
joke
4.9. Undo/Redo Feature
4.9.1. Undoing the latest modification(s) : undo
Reverts the latest commands given on the ELISA.
Format: undo
Examples:
-
undo
Undoes the last command
4.9.2. Redoing the latest undone command(s) : redo
Re-executes the latest undone commands given on the ELISA.
Format: redo
Examples:
-
redo
4.10. Sort/Find/Priority Feature
4.10.1. 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 pri
- 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.10.2. 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 keywords 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.10.3. Entering priority mode: priority
Overwhelmed by the number of tasks to complete? Priority mode will help you narrow your focus down to the most pressing task to complete.
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.
Notice that the ELISA icon turns red to signify that you are in priority mode and your task list has shrunk from 5 tasks down to the 1 most important task.
When you are done with your current task, just tell ELISA you are done by simply typing done 1
and ELISA will generate the next task for you.
To go back to the normal task view, simply type priority
again. Or even better, complete all your tasks 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.
For the easily distracted, there is an extreme focus mode available. Simply tell ELISA that you want to enter the extreme focus mode by attaching a -f
flag to the back of the command. In the extreme focus mode, commands such as show
, sort
, find
, game
, event
and reminder
are banned.
Format: priority [DATETIME] [-f]
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.hour.later -f
- activates the focus mode and ask ELISA to turn it off 2 hours later
4.11. Exiting the program : exit
Exits the program.
Format: exit
4.12. 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.
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 1 event 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.
6. Coming in V2.0
-
Events with AutoReschedule can have reminders that will be rescheduled along with it.