- 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
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!
-
Have you installed Java
11
? -
Find me,
ELISA.jar
here. -
Double-click me to start the app. See you in a few seconds.
-
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”
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. |
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.
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!
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
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 . |
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. |
This command is used to edit any of the items that you might have.
-
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]…
-
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.
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
.
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.
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)
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
-
It is possible to snooze the same reminder multiple times if you wish.
-
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.
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 .
|
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 :( |
Screen is too dark? Switch up the theme by typing theme white
!
Examples:
-
theme white
-
theme black
Sick of looking through lists of events? Type show c
in the command box and your events will be magically placed into a calendar!
Too stressed from all the work? Check out these features to take a short break so that you can go further!
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
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
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!
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!
-
Note that each joke is randomly selected from the database and may repeat.
Example:
-
joke
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
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)
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.
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
-
Note that this command can only be called in the task panel and when you have incomplete tasks to be completed.
-
Note that if priority mode is currently on, any variation of
priority
will turn it off. -
Note that all command such as
edit
,undo
andredo
still works in priority mode. However, if adone
ordelete
command takes you out of priority mode and then youundo
it, it will onlyundo
the command but will not take you back into priority mode.
-
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.