Skip to content

Latest commit

 

History

History
343 lines (225 loc) · 13.2 KB

UserGuide.md

File metadata and controls

343 lines (225 loc) · 13.2 KB

User Guide

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.


Table of Contents

  1. Quick Start
  2. UI
  3. Features
  4. FAQ
  5. Command Summary
  6. Parameter Summary
  7. Contact Us

1. Quick Start

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

  2. Download the latest geekeep.jar from the releases tab.

  3. Move the file to the folder you want to use as the home folder for your task manager.

  4. Double-click the file to start the app. You should see the UI appear in a few seconds.


  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. 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 tasks
    • exit : exits the app
  7. Refer to the Features section below for details of each command or just check out the Cheatsheet section.

⬆ back to top

2. UI

Our UI is broken down into 4 main sections:

  1. Command Box
    • You enter commands here. When you enter an invalid command, it turns red.
  2. Result Display
    • The result of your command, whether success, failure or error, will be depicted here.
  3. Event, Task, and Deadline List Panels
    • The 3 types of tasks are displayed accordingly here. They are updated whenever you execute a relevant command.
  4. Status Bar Footer
    • Shows you the last updated time and the file storage location.

⬆ back to top

3. Features

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 prefix s/. See the Parameter Summary for a complete list.
  • DateTime
    The dateTime format should be DD-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 an END_DATETIME. A START_DATETIME must be matched with a later END_DATETIME.
  • Deadlines are tasks with only an END_DATETIME.
  • Floating Tasks are tasks without both START_DATETIME and END_DATETIME.

3.1. Viewing help: help

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.

3.2. Adding a task: add

Adds a task with the specified details.

Format: add TASKTITLE [s/START_DATETIME] [e/END_DATETIME] [d/DESCRIPTION] [t/TAGS...]

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.

3.3. Updating a task: update

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/

3.4. Marking a task as done or undone: done & undone

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

3.5. Deleting a task: delete

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

3.6 Deleting all tasks: clear

Deletes all existing tasks.

Format: clear

Your UI should be completely empty after this command.

3.7. Listing all tasks: list

Shows all tasks, completed or otherwise, in the Event, Task, and Deadline List Panels.

Format: list

3.8. Listing all completed tasks: listdone

Shows only completed tasks in the Event, Task, and Deadline List Panels.

Format: listdone

3.9 Listing all uncompleted tasks: listundone

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 match report progress
  • Tasks matching at least one keyword will be returned (i.e. OR search). e.g. meeting will match team meeting
  • You can specify the time period using either the after and before prefixes, a/ and b/ respectively. If you specify both parameters, take note the time for a/ must be before b/.

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 tag work:
    find meet t/work
  • You can find any tasks with the word meet in their title, happening after 17-3-17:
    find meet a/17-3-17

3.11. Undo most recent command: undo

Undo the most recent command. Can redo with command redo

Format: undo

3.12. Redo most recent undo: redo

Redo the most recent undo. Can undo with command undo.

Format: redo

3.13. Saving the data

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.

3.14. Storing the data

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 execute Geekeep.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

3.15. Exiting the program: exit

Exits the program.

Format: exit

You can exit with Alt-F4 (Windows) or Command-Q (Mac) any time since all changes are automatically saved.

⬆ back to top

4. FAQ

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.

⬆ back to top

5. Command Summary

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

6. Parameter Summary

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

⬆ back to top

7. Contact Us

  • 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

⬆ back to top