ip

Jackson

Jackson is a full-time task manager chatbot, part-time Kopitiam uncle.

Unlike a traditional task manager, Jackson leverages the speed and standardization of the Command-Line Interface (CLI) style of input, with all functionality embedded into commands and tags. If you can type fast, Jackson can get it done faster.

Quick Start

  1. Ensure that you have Java 17 installed on your computer.
  2. Download the latest jar file from here.
  3. Copy the jar file to the folder you’d want to run Jackson on.
  4. Run java -jar jackson_v1.jar on the command prompt in the same directory.
  5. You should see the GUI as shown below:
help-1

[!TIP] Try a few commands! You can view the list of supported commands with help

Features and Commands

[!NOTE] Notes about the syntax format:

Help with commands: help

This command serves two purposes. Firstly, it displays the list of supported commands:

help-1-demo

Format: help

Alternatively, suffixing help with a command displays more details about the command:

help-2-demo

Format: help [COMMAND]

Viewing the task list: list

View the task list in its entirety. The display can be interpreted as follows:

For example:

list-demo

Format: list

Adding todo tasks: todo

Adds a todo task to the task list.

Format: todo [NAME]

Adding deadline tasks: deadline

Adds a deadline task to the task list.

Format: deadline [NAME] /by [BY-DATE]

Adding event tasks: event

Adds an event task to the task list.

Format: event [NAME] /from [FROM-DATE] /to [TO-DATE]

Marking tasks as completed: mark

Marks a task at index i as completed.

Format: mark [INDEX]

Marking tasks as incomplete: unmark

Marks a task at index i as incomplete.

Format: unmark [INDEX]

Deleting tasks: delete

Deletes task at index i.

Sorting tasks: sort

Sorts tasks in ascending or descending order based on task attributes.

For example: sort name /d, before and after.

sort-before-demo sort-after-demo

Format: sort [ATTRIBUTE] (ORDER)

Finding tasks: find

Finds task names containing the provided keyword.

Format: find [KEYWORD]

Exiting: bye

Exits the program.

Format: bye

Saving and Loading

Jackson uses active saving in a save file in data/data.txt.

The task list is always saved after any modification to itself, so there is no need to use a save command. If the save file does not exist, the program will create a new save file in the path specified in Jackson.java.

During initialisation, Jackson will read from the save file and load all previously loaded tasks into the current task list.

[!CAUTION] In case of file instability and permissions, it might be safer to store an extra copy of data.txt when transfering the save file across devices.

Task Names

Jackson enforces a strict no-conflict naming system. If the user wishes to create tasks of the same name (regardless of task type), the user should either rename the task they wish to add or delete the pre-existing task in the list.

[!TIP] Task names are monitored by name only, so any small modification to the name will be accepted as only one-to-one String comparison is used

Colour Coding

Generally, the GUI employs textbox background colour coding as such:

Type of Message Colour of textbox background
User input Light blue #87CEFA
Errors Red #F19595
List operations Orange #f1cfa2
Task operations Green 90EE90
Startup and Shutdown Blue-Green gradient #96e4d9 and #c2f3c2
Other Jackson responses Purple CBC3E3

FAQ

Q: How do I transfer my data to another computer?
A: Simply copy main/resources/texts/data.txt into your new computer and install Jackson using the steps in Quick Start.

Command Summary

Click on each command to view the relevant section.

Command Usage remarks
help help or help [COMMAND] -
list list -
todo todo [NAME] -
deadline deadline [NAME] /by [BY-DATE] [BY-DATE] in
DD-MM-YYYY (HH:MM) format
event event [NAME] /from [FROM-DATE] /to [TO-DATE] [FROM-DATE] and [TO-DATE] in
DD-MM-YYYY (HH:MM) format
mark mark [INDEX] 1-indexed [INDEX]
unmark unmark [INDEX] 1-indexed [INDEX]
delete delete [INDEX] 1-indexed [INDEX]
sort sort [ATTRIBUTE] (ORDER) -
find find [KEYWORD] -
bye bye -
??? ??? ???