Bob is a personal task handling chatbot! Tell him all your deadlines, events and tasks to do and he will keep track of them for you.
Prerequisites: JDK 11
Users can create tasks such as deadlines, events and to-do tasks. Once the task is created, Bob will add it to the task list. Each task can also be marked as done.
For deadlines and events, dates must be provided.
Users can view all the tasks they have created. Bob will display a list of all the tasks, where each task is tagged with their task number, task type (D for deadline, E for event, and T for to-do), and done status (O for done, X for not done).
Users can mark tasks as done to keep track of which tasks have not been completed. Tasks are marked with an ‘X’ if they are not done and ‘O’ if they are done.
Users can delete tasks from the task list.
Users can sort the task list according to time.
Users can either find tasks by keyword or by time.
By keyword: Users can specify a keyword and Bob will find and display all tasks that contain that keyword.
By time: Users can specify a time period (in hours or in days) and Bob will find and display all tasks that are due or within that time period.
Users can save their current task list. Doing so will allow Bob to remember what tasks there are when he is opened again next time.
Creates a to-do task with the given description and adds it to the task list.
Format:
todo DESCRIPTION
Example of usage:
todo Assignment
Expected outcome:
The task list contains a to-do task with description Assignment
Creates a deadline task with the given description and due date, and adds it to the task list.
Format:
deadline DESCRIPTION /by DATE
Example of usage:
deadline Homework /by 2020-09-16 1000
Expected outcome:
The task list contains a deadline task with description Homework and due date 2020-09-16 10:00
Note: DATE has to be in YYYY-MM-DD HHmm format.
Creates an event task with the given description and due date, and adds it to the task list.
Format:
event DESCRIPTION /at DATE
Example of usage:
event Party /at 2021-09-16 2000
Expected outcome:
The task list contains an event task with description Party and date 2021-09-16 20:00
Note: DATE has to be in YYYY-MM-DD HHmm format.
Displays a list of all created tasks with their assigned task number, task type, and done status.
Example of usage:
list
Expected outcome:
The task list is displayed.
Marks the specified task as done.
Format:
done TASK_NUMBER
Example of usage:
done 1
Expected outcome:
Task 1 is marked as done.
Note: TASK_NUMBER can be obtained from list command. A task is marked with an ‘X’ if not done, and an ‘O’ if done.
Deletes the specified task.
Format:
delete TASK_NUMBER
Example of usage:
delete 1
Expected outcome:
Task 1 is deleted.
Note: TASK_NUMBER can be obtained from list command.
Sorts the task list in chronological order.
Example of usage:
sort
Expected outcome:
The task list is sorted by date.
Finds and displays all tasks with the given keyword.
Format:
find KEYWORD
Example of usage:
find party
Expected outcome:
All tasks with the keyword are displayed.
Finds all tasks that are due in the given time frame in either hours or days.
Format:
due in NUMBER hours | due in NUMBER days
Example of usage:
due in 24 hours
due in 1 days
Expected outcome:
All tasks due in 24 hours or 1 day are displayed.
Saves the current task list, which will be loaded the next time Bob is opened.
Example of usage:
save
Expected outcome:
The task list is saved in /data/tasks.txt of the home directory of Bob.
Displays a list of all the available commands Bob understands.
Example of usage:
list
Expected outcome:
The list of all available commands are displayed.