By : Team CS2103JAN2017-W15-B4
Since: Mar 2017
Licence: MIT
Tired of Task Managers with fancy graphics? Want a simple task manager that you can use solely with your keyboard? If you answered yes, we have just the app for you!
GeeKeep (pronounced Geek-keep) is a simple Command-Line-Interface (CLI) task manager that automatically categorizes your tasks into events, deadlines or just plain tasks. It affords you all the basic functionalities of a task manager from just the Command-Line alone!
This guide will help you get started with the commands and features of GeeKeep.
-
Ensure you have Java version 1.8.0_60 or later installed in your Computer.
Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -
Download the latest geekeep.jar from the releases tab.
-
Move the file to the folder you want to use as the home folder for your task manager.
-
Double-click the file to start the app. You should see the UI appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
add Complete Progress Report e/20-3-17
: adds a task titled Complete Progress Report with deadline on 20 March 2017.clear
: deletes all existing tasksexit
: exits the app
-
Refer to the Features section below for details of each command or just check out the Cheatsheet section.
Our UI is broken down into 4 main sections:
- Command Box
- You enter commands here. When you enter an invalid command, it turns red.
- Result Display
- The result of your command, whether success, failure or error, will be depicted here.
- Event, Task, and Deadline List Panels
- The 3 types of tasks are displayed accordingly here. They are updated whenever you execute a relevant command.
- Status Bar Footer
- Shows you the last updated time and the file storage location.
You can find a list of all commands and their detailed explanation in the following section. You can jump to the Command Summary for a quick summary.
You may also want to be familiar with the formats and keywords, explained further below, that GeeKeep uses before you continue to the following sections.
Command Format
- Words in UPPER_CASE are the parameters.
- Items in SQUARE_BRACKETS are optional.
- Items with ... after them can have multiple instances.
- Parameters can be in any order.
Parameter Format
- Each parameter has its own prefix, for example, the
START_DATETIME
has the prefixs/
. See the Parameter Summary for a complete list.- DateTime
The dateTime format should beDD-MM-YY HHMM
- Description
The description has no restriction.- Tag
Each tag is a single word.
Task Type
- Events are tasks with a
START_DATETIME
and anEND_DATETIME
. ASTART_DATETIME
must be matched with a laterEND_DATETIME
.- Deadlines are tasks with only an
END_DATETIME
.- Floating Tasks are tasks without both
START_DATETIME
andEND_DATETIME
.
Opens a window that displays this User Guide.
Format: help
If your command did not follow the format specified, a short help summary of the command will be shown just below your command box.
Adds a task with the specified details.
Format: add TASKTITLE [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTION] [t/TAGS...]
- Each parameter has its own prefix. See the Parameter Summary for a complete list.
Examples:
- You can add a floating task:
add Shop groceries
- or a deadline:
add Progress report e/15-3-17 1600
- or an event:
add Team meeting s/15-3-17 1500 e/15-3-17 1600
You should see the following after the above commands are entered.
Updates any details of existing task's to the new specified .
Format: update TASKID [TASKTITLE] [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTOIN] [t/TAGS...]
- Updates the task at the specified TaskID.
- TaskID refers to the number shown beside the title of the task.
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Examples:
-
You can change a floating task to a deadline using the
update
command:update 1 e/1-4-17 2359
-
Conversely, you can change it back into a floating task:
update 1 e/
Marks the task with the specified TaskID as done.
Format: done TASKID
- Marks the task with the specified TaskID as done.
- TaskID refers to the number shown beside the title of the task.
Examples:
- You can mark the task with TaskID 2 as completed:
done 2
Deletes the specified task.
Format: delete TASKID
- Deletes the task with the specified TaskID.
- TaskID refers to the number shown beside the title of the task.
Examples:
- You can delete the task with TaskID 2:
delete 2
Deletes all existing tasks.
Format: clear
Your UI should be completely empty after this command.
Shows all tasks, completed or otherwise, in the Event, Task, and Deadline List Panels.
Format: list
Shows only completed tasks in the Event, Task, and Deadline List Panels.
Format: listdone
Shows only uncompleted tasks in the Event, Task, and Deadline List Panels.
Format: listundone
Sorted in chronological order. You will see tasks closest to their starting date or due date at the top.
3.10. Finding all tasks containing any keyword in their title, specified tags, or in a specified time period: find
Find and displays only tasks whose title contain any of the given keywords, and/or contains the specified tag, and/or in the specified time period, in the Event, Task, and Deadline List Panels respectively.
Format: find KEYWORD [MORE_KEYWORDS] [a/AFTER_DATETIME] [b/BEFORE_DATETIME] [t/TAGS...]
- The search is case insensitive.
- The order of the keywords does not matter. e.g.
progress report
will matchreport progress
- Tasks matching at least one keyword will be returned (i.e. OR search). e.g.
meeting
will matchteam meeting
- You can specify the time period using either the after and before prefixes,
a/
andb/
respectively. If you specify both parameters, take note the time fora/
must be beforeb/
.
Examples:
- You can find any tasks with the word
report
in their title:
find report
- You can find any tasks with the word
meeting
in their title, and containing the tagwork
:find meet t/work
- You can find any tasks with the word
meet
in their title, happening after17-3-17
:find meet a/17-3-17
Undo the most recent command. Can redo with command redo
Format: undo
Redo the most recent undo. Can undo with command undo.
Format: redo
Task manager data are saved in the hard disk automatically (in XML format) after any command that changes the data.
There is no need to save manually.
Stores the data at the specified filepath.
Format: store [RELATIVE_FILEPATH]
- The default store location in the
data
folder, which is created when you first executeGeekeep.jar
.- The filepath is relative to where
Geekeep.jar
is stored- You have to specify the
.xml
extension for the file name
Examples:
- You can store the data in the same folder as
Geekeep.jar
:store Geekeep.xml
Exits the program.
Format: exit
You can exit with Alt-F4 (Windows) or Command-Q (Mac) any time since all changes are automatically saved.
Q: Why does the app not run even though I have Java 8 installed?
A: Ensure you have Java version 1.8.0_60 or later installed in your Computer. This app will not work with earlier versions of Java 8.
Q: Can I control each of the panels individually?
A: No, all 3 panels are controlled together, meaning a listdone
command will list all completed events, floating tasks, and deadlines in all 3 panels respectively.
Q: Can I resize each of the panels individually?
A: Yes, you can adjust their horizontal width just as you would a typical window.
Q: Can I change a task into a deadline, event, or vice versa?
A: Yes, just update the task's END_DATETIME
for deadlines and its START_DATETIME
for events.
Q: Can I change the order of display?
A: No, the tasks are always listed in chronological order, starting from today.
Q: How do I save the data?
A: Task manager data are saved in the hard disk automatically (in XML format) after any command that changes the data.
Q: Can I edit the saved data directly in XML?
A: Yes, the app will update accordingly when you launch it.
Q: Can I quit without using the exit command?
A: You can quit however you prefer since all changes are automatically saved.
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 task manager folder.
Command | Format | example |
---|---|---|
Help | help |
help |
Add | add TASK [s/START_DATETIME] [e/END_DATETIME] |
add Team meeting s/15-3-17 1500 e/15-3-17 1600 |
Update | update TASKID [TASK] [e/END_DATETIME] |
update 1 Summary Report e/15-3-17 2359 |
Done & Undone | done TASKID |
done 1 |
Delete | delete TASKID |
delete 3 |
Clear | clear |
clear |
List all tasks | list |
list |
List only completed tasks | listdone |
listdone |
List only uncompleted tasks | listundone |
listundone |
Find | find KEYWORD [MORE_KEYWORDS] [DATE] |
find report 15-3-17 |
Undo | undo |
undo |
Redo | redo |
redo |
Store | store |
store geekeep.xml |
Exit | exit |
exit |
Parameter | Prefix | Format | Can be empty | Example |
---|---|---|---|---|
TASKTITLE | - | Alphanumeric Characters and spaces | ❌ | CS2103 Assignment 1 |
START_DATETIME | s/ |
DD-MM-YY HHMM |
✔️ | 01-04-17 0000 |
END_DATETIME | e/ |
DD-MM-YY HHMM |
✔️ | 01-04-17 2359 |
DESCRIPTION | d/ |
No restriction | ✔️ | School of Computing |
-
Bug reports, Suggestions : Post in our issue tracker if you notice any bugs or have suggestions on how to improve.
-
Contributing : We welcome pull requests. Follow the process described here
-
Email : You can reach us at
e0003323@u.nus.edu