NUS Year 2 CS2103T Individual Project Component - Duke Personal Assistant Chatbot (Kim Jong Duke)
Duke, a task management application.
Have you ever wanted the Supreme Leader of North Korea to be your personal secretary? Now you can with your very own Kim Jong Duke personal assistant chatbot! In the chatbot, you will play the role of Donald Trump and have your BFF Kim Jong Duke manage your tasks for you! :D
“Nobody knows more about how fantastic this chatbot is. Believe me. I am the best.” - Donald Trump
“Can this chatbot be eaten?” - Kim Jong Un
“A real masterpiece!” - My Mum
Users are able to add tasks into Kim Jong Duke. Specifically, they are able to add 3 types of tasks - Todo, Event, Deadline.
Todo - Task without any date/time attached to it.
Event - Task that starts and/or ends at a specific time.
Deadline - Task that needs to be done before a specific date/time.
todo
Action - todo
Outcome - Creates a task without any date/time attached to it.
Tags - [T] Indicates that the task is a Todo.
Example of usage:
todo nuke north korea
Expected outcome:
Got it. I've added this task:
[T][N] nuke north korea
event
Action - event
Outcome - Creates a task that starts and/or ends at a specific time.
Tags - [E] Indicates that the task is an Event.
Example of usage:
event meet Kim Jong Un /at 5pm
Expected outcome:
Got it. I've added this task:
[E][N] meet Kim Jong Un (at:5pm)
deadline
Action - deadline
Outcome - Creates a task that needs to be done before a specific date/time.
Tags - [D] Indicates that the task is a Deadline.
Example of usage:
deadline tweet bad things about Joe Biden /by tomorrow
Expected outcome:
Got it. I've added this task:
[D][N] tweet bad things about Joe Biden (by: tomorrow)
Users are able to delete a task by declaring the serial number tagged to the task.
delete
Action - delete
Outcome - Deletes a task.
Example of usage:
delete 1
Expected outcome:
Assumption - [T][N] nuke north korea is the first task (ie has S/N 1.) in the list of tasks.
Noted. I've removed this task:
[T][N] nuke north korea
Users are able to find tasks in their task list containing specific keywords.
find
Action - find
Outcome - Find tasks that match the given keyword.
Example of usage:
find north korea
Expected outcome:
Here are the matching tasks in your list:
1. [T][N] nuke north korea
Upon completing a task, users are able to mark their task as completed by declaring the serial number tagged to the task.
done
Action - done
Outcome - Mark a task as completed. [N] changes to [Y] to indicate that the task has been completed.
Example of usage:
done 1
Expected outcome:
Nice! I've marked this task as done:
1. [T][Y] nuke north korea
Displays all tasks in users’ task list. (This includes both completed [Y] and non-completed [N] tasks)
list
Action - list
Outcome - Displays all tasks in users’ task list.
Example of usage:
list
Expected outcome:
1. [T][Y] nuke north korea
2. [E][N] meet Kim Jong Un (at:5pm)
3. [D][N] tweet bad things about Joe Biden (by:tomorrow)
Kim Jong Duke can accept dates in certain formats and will convert it to English date format. If a day of the week (e.g Monday) is accepted as input, Kim Jong Duke will convert the input to the earliest possible Monday in GMT +8. (Ie This Monday if the Monday of the week has yet to pass, otherwise the Monday of the next week.)
Format Accepted | Example Input | Example Output |
---|---|---|
dd/MM/yyyy HHmm | 07/09/2020 1100 | Monday, September 07, 2020, 11:00 AM |
d/MM/yyyy HHmm | 7/09/2020 1100 | Monday, September 07, 2020, 11:00 AM |
dd/M/yyyy HHmm | 07/9/2020 1100 | Monday, September 07, 2020, 11:00 AM |
d/M/yyyy HHmm | 7/9/2020 1100 | Monday, September 07, 2020, 11:00 AM |
dd-MM-yyyy HHmm | 07-09-2020 1100 | Monday, September 07, 2020, 11:00 AM |
d-MM-yyyy HHmm | 7-09-2020 1100 | Monday, September 07, 2020, 11:00 AM |
dd-M-yyyy HHmm | 07-9-2020 1100 | Monday, September 07, 2020, 11:00 AM |
d-M-yyyy HHmm | 7-9-2020 1100 | Monday, September 07, 2020, 11:00 AM |
Monday | Monday | Monday, September 07, 2020 |
monday | monday | Monday, September 07, 2020 |
Mon | Mon | Monday, September 07, 2020 |
mon | mon | Monday, September 07, 2020 |
NaturalDates
Action - deadline nuke north korea /by Sunday
Outcome - Sunday is converted to Sunday, September 13, 2020.
Example of usage:
deadline nuke north korea /by Sunday
Expected outcome:
Got it. I've added this task:
[D][N] nuke north korea (by: Sunday, September 13, 2020)