Repository navigation
User Guide
Welcome to the Juke User Guide! Through this user guide, you will:
- Learn what is
Jukeand how it can help you to track your tasks - Learn the features of
Juke - Learn the commands that
Jukecan understand
Want to view the entire User Guide instead? Click here to view the GitHub Pages website!
Let's get started!
As Juke is a GUI application, you will need to install the relevant Java GUI libraries on
your machine.
To use Juke, you will need to install Java 11 on your machine. You can find out more on
how you can install Java 11 on your
Windows machine,
MacOS machine or
Linux machine by clicking on the hyperlinked
text.
Ensure that you are downloading the latest version of Java 11 from the websites that contain
the JavaFX library prepackaged in it.
⚠️ Warning
If you decide not to use the aboveJava 11JDKs for any reason, ensure that the JDK you decide to use is at leastJava 11and you install the relevantJavaFXlibrary along with the installation of the JDK!
Next, head to this website and download the latest JAR file
attached in the latest release of Juke.
Open up your device's terminal or command prompt. Navigate to the location where the JAR file is
downloaded into using the cd command. Click here
to learn more about the cd command.
Finally, run the command java -jar juke.jar to start Juke!
Encountered some issues with installing Java or running the JAR file? Here are some common questions you may have!
Q: Which version of Java do I need to install? There's so many versions called Java 11!
A: Any version of Java 11 will do! Ensure that the JDK you install comes bundled with the JavaFX library! If you are using the Zulu JDK above, ensure that you install the ones that are tagged with "JDK FX" on the downloads page!
Q: I have downloaded the JAR file, but I can't seem to execute the file!
A: Do check that the correct Java version is being referenced when you execute the command "java -jar juke.jar", if you are unsure, run the command "java --version" to view the current version of Java that is used to execute the JAR file!
To change the default version of Java on your PC, check out this guide
to find out more on how you can set your PC's "JAVA_HOME" variable to allow the command to properly
reference the Java 11 version you installed!
The following image highlights some important aspects of the GUI:

Before delving into the different commands that Juke can understand, here are some notations used in this User
Guide that you should take note of:
| Notation/Symbols | Description |
|---|---|
| [...] | Square brackets describe mandatory inputs that, if omitted, will cause errors to appear |
| <...> | Angular brackets represent parameters that you need to substitute with your own inputs |
| ( ... OR ... ) or [ ... OR ... ] or ... OR ... | The "OR" word is used to denote one mandatory input from the two inputs (represented by ...) |
| ( ... AND ... ) or [ ... AND ... ] or ... AND ... | The "AND" word is used to denote two mandatory input from the two inputs (represented by ...) |
Juke is packed full of features to help you track your tasks!
You can add a Todo Task to help you track the tasks that you need to do! Todo tasks have
no deadlines, and are represented only by their completion status!
todo [task name]
⚠️ Warning
The task name you enter cannot just be one or more spaces (" ")!
todo tasktodo this is also a valid tasktodo task 1 is also a valid task
If successful, Juke will respond with:
Task added: [T] [] <YOUR TASK NAME>
The following are examples of errors that could happen to the todo command:
-
todo: When the task name is omitted, an error will occur
Create a Deadline Task to track completable tasks with a deadline!
deadline [task name] /by [(DD(- OR /)MM(- OR /)YYYY HH(: or -)MM) OR (DD(- OR /)MM(- OR /)YYYY)]
- Note the following
-
DD: 2-digit number representing the day -
MM: 2-digit number representing the month -
YYYY: 4-digit number representing the year -
HH: 2-digit number representing the hour in 24 hours -
MM: 2-digit number representing the minutes
-
⚠️ Warning
The task name you enter cannot just be one or more spaces (" ")!
deadline task /by 01/01/2023 23:59deadline other valid task /by 01/01/2023
If successful, Juke will respond with:
Task added: [D] [] <YOUR TASK NAME> by: <TASK DEADLINE>
The following are examples of errors that could happen to the deadline command:
-
deadline,deadline /by: When the arguments are omitted, an error will occur -
deadline error task /by gibberish: When the date argument is invalid, an error will occur
Create Event Tasks to track completable tasks with start and end dates!
event [task name] /from [(DD(- OR /)MM(- OR /)YYYY HH(: or -)MM) OR (DD(- OR /)MM(- OR /)YYYY)]
/to [(DD(- OR /)MM(- OR /)YYYY HH(: or -)MM) OR (DD(- OR /)MM(- OR /)YYYY)]
- Note the following
-
DD: 2-digit number representing the day -
MM: 2-digit number representing the month -
YYYY: 4-digit number representing the year -
HH: 2-digit number representing the hour in 24 hours -
MM: 2-digit number representing the minutes
-
ℹ️ Note
The date formats used ineventfollows closely to whatdeadlineuses!
⚠️ Warning
The task name you enter cannot just be one or more spaces (" ")!
event task /from 01/01/2023 23:59 /to 01/01/2024 23:59deadline other valid task /from 01/01/2023 /to 01/01/2024 23:59
If successful, Juke will respond with:
Task added: [E] [] <YOUR TASK NAME> (from <TASK START DATE> to <TASK END DATE>)
The following are examples of errors that could happen to the event command:
-
event,event /from,event /from /to: When the arguments are omitted, an error will occur -
event error task /from gibberish /to gibberish 2: When the date argument is invalid, an error will occur -
event error task 2 /from 01/01/2023 /to 01/01/2000: When the start date is before the end date, an error will occur
You may also view all Tasks that you have added so far to your task list!
list
list
If successful, Juke will respond with:
Here's your list of tasks:
1. ...
2. ...
3. ...
The following are examples of errors that could happen to the list command:
-
ls: Using shortened spellings will result in errors - 'list all my tasks`: Adding extra parameters will result in errors
You can also delete a Task from Juke to remove any unwanted task from your task list!
delete [TASK INDEX]
ℹ️ Note
The task index is relative to the current order of the task list! If you are not sure what the order of the list is, use thelistcommand!
delete 1
If successful, Juke will respond with:
Task deleted: <TASK>
The following are examples of errors that could happen to the mark command:
-
delete 10000000,delete -1: When attempting to delete a task that don't exist, an error will occur -
delete 1and thendelete 1again: When attempting to delete a task that is already deleted, an error will occur
You can mark a Task as complete to help you track your incomplete tasks!
mark [TASK INDEX]
ℹ️ Note
The task index is relative to the current order of the task list! If you are not sure what the order of the list is, use thelistcommand!
mark 1
If successful, Juke will respond with:
Task marked as done: <TASK>
ℹ️ Note
The task indicator will turn from[ ]to[✓]
The following are examples of errors that could happen to the mark command:
-
mark 10000000,mark -1: When attempting to mark a task that don't exist, an error will occur -
mark 1and thenmark 1again: When attempting to mark a task that is already marked, an error will occur
Conversely, you can also mark a Task as incomplete to help you track your completed tasks!
unmark [TASK INDEX]
ℹ️ Note
The task index is relative to the current order of the task list! If you are not sure what the order of the list is, use thelistcommand!
unmark 1
If successful, Juke will respond with:
Task marked as undone: <TASK>
ℹ️ Note
The task indicator will turn from[✓]to[]
The following are examples of errors that could happen to the mark command:
-
unmark 10000000,unmark -1: When attempting to unmark a task that don't exist, an error will occur -
unmark 1and thenunmark 1again: When attempting to unmark a task that is not marked, an error will occur
Need help searching for a Task in your Task list? Use the Find feature to help you search for the Task that you are looking for!
find [QUERY]
ℹ️ Note
The query can be any valid task name String (does not contain the illegal character|)!
⚠️ Warning
The task name you enter cannot just be one or more spaces (" ")!
find my task
If successful, Juke will respond with:
Found them! Here are some of the tasks in your task list that contain the word
"<QUERY>":
<TASK>
<TASK>
<TASK>
...
The following are examples of errors that could happen to the mark command:
-
find: If the argument is omitted, an error will occur
You can sort your tasks by their description, start date, end date and deadline in ascending or descending order to help you be on task!
sort [SORT ORDER] [SORT BY]
ℹ️ Note
The values that[SORT ORDER]can take are:
aORascORascendORascending: Sorts the list in ascending orderdORdescORdescendORdescending: Sorts the list in descending order
ℹ️ Note
The values that[SORT BY]can take are:
dORdesORdescriptORdescription: Sorts the list by task descriptionsORstORstartORstart date: Sorts the list by start dateeORenORendORend date: Sorts the list by end datedORdeadORdeadlnORdeadline: Sorts the list by deadline
sort d dsort asc start datesort ascend description
If successful, Juke will respond with:
Your task list is now sorted!
Here's your list of tasks:
1. ...
2. ...
3. ...
...
The following are examples of errors that could happen to the sort command:
-
sort,sort d: If the argument is omitted, an error will occur -
sort ddescending ddeadline: If the argument is not in any one of the permitted arguments above, an error will occur
Leaving so soon? Exit Juke with ease!
bye
bye
If successful, Juke will exit.
The following are examples of errors that could happen to the bye command:
-
bye Juke: If arguments are given, an error will occur
Congrats for reaching the end of the User Guide!
Need a refresher? The following table provides a quick summary of the commands that Juke can understand:
| Command | Description |
|---|---|
todo |
Creates a Todo Task |
deadline |
Creates a Deadline Task |
event |
Creates an Event Task |
list |
Lists all the Tasks that are present in the task list |
mark |
Marks a Task as complete |
unmark |
Marks a Task as incomplete |
delete |
Deletes a Task from the task list |
find |
Searches for a Task based on the task description |
sort |
Sorts the task list |
- Command: The possible inputs that you enter into the input box to tell Juke what you want Juke to do
- GUI: Graphical User Interface, an interactive interface that permits users to interact with graphical elements on the screen to perform tasks
- Java: General-purpose Programming Language that Juke is written in
- JavaFX: A Java GUI library that Juke relies on to generate the graphical interface for users to interact with