Starter code for the Duke project
Nini is a Task Manager built upon Duke’s starter code that assists Users with their lists of tasks. User can use Nini to manage a list of Todos or Events or Deadlines. For more details of how Nini manages the list of Tasks, refer to the Features section below.
User can add Tasks. There exists three different Tasks:
Note: Event and Deadline Tasks have an additional
aspect in which timing is also stored on top of
Task description. Timing has to be entered as follows:
yyyy-MM-dd HH:mm
When a Task is added, Nini will inform the User accordingly.
User can mark Tasks as done.
User must indicate the index in the Task List that the Task is assigned to.
When a task is marked as done, Nini will inform the User and update the status.
User also has the option to mark all Tasks as done. In which Nini will show the user that all Taskshas its status updated.
User can delete Tasks.
User must indicate the index in the Task List that the Task is assigned to.
When a Task is deleted, Nini will update the User on the specific Task deleted.
User also has the option to delete all Tasks.
In doing so, Nini will inform the User that all Tasks have been deleted.
User can list Tasks.
Nini will inform User of the all the Tasks currently stored in the Task List.
Tasks with “DONE” are Tasks that were deemed as completed by User while Tasks with “PENDING” are Tasks that have yet to be deemed as complete by the User.
User can find Tasks.
Nini will search for a list of Tasks that matches the key entered by the User.
User can ask for help from Nini.
In response, Nini will display a list of commands that Nini is capable of doing.
Todo
- Adds a Task of type Todo.To add a Todo Task, type {todo} {task description}
Example of usage:
todo read books
Expected outcome:
__________________________________________________________
Got it. I've added this task:
[T][Status: PENDING] read books
Now you have 1 tasks in the list.
__________________________________________________________
Event
- Adds a Task of type Event.To add an Event Task, type {event} {task description} {/} {timing}
Example of usage:
event celebrate birthday / 2020-02-16 14:00
Expected outcome:
__________________________________________________________
Got it. I've added this task:
[E][Status: PENDING] celebrate birthday (at: SUNDAY, 16
FEBRUARY 2020 14:00 )
Now you have 2 tasks in the list.
__________________________________________________________
Deadline
- Adds a Task of type Deadline.To add a Deadline Task, type {deadline} {task Description} {/} {timing}
Example of usage:
deadline finish homework / 2020-02-18 09:00
Expected outcome:
__________________________________________________________
Got it. I've added this task:
[D][Status: PENDING] finish homework (by: TUESDAY, 18
FEBRUARY 2020 9:00 )
Now you have 1 tasks in the list.
__________________________________________________________
Done
- Marks a specific Task as completed.To mark a Task as completed, type {done} {task index}
Example of usage:
done 1
Expected outcome:
__________________________________________________________
Nice! I've marked this task as done:
[T][Status: DONE] read books
__________________________________________________________
To mark ALL Tasks as completed, type {done} {all}
Example of usage:
done all
Expected outcome:
__________________________________________________________
All tasks have been marked as done!
1.[T][Status: DONE] read books
2.[E][Status: DONE] celebrate birthday (at: SUNDAY, 16
FEBRUARY 2020 14:00 )
3.[D][Status: DONE] finish homework (by: TUESDAY, 18
FEBRUARY 2020 9:00 )
__________________________________________________________
Delete
- Delete Tasks from Task List.To delete Tasks from Task List, type {delete} {task index}
Example of usage:
delete 1
Expected outcome:
__________________________________________________________
Noted. I've removed this task:
[T][Status: DONE] read books
Now you have 3 tasks in the list.
__________________________________________________________
To delete ALL Tasks from the Task List, type {delete} {all} Note: when using this command, Nini will prompt the User to confirm if they intend on deleteing ALL Tasks. User is then required to type Y for Yes or N for No.
Example of usage:
delete all
Expected outcome:
__________________________________________________________
Are you sure that you want ALL tasks to be deleted?
Type Y for Yes and N for No
__________________________________________________________
Y _(USER INPUT)_
__________________________________________________________
All tasks have been deleted!
__________________________________________________________
List
- Lists all currently available Tasks in the Task List.To retrieve the current list of Tasks, type {list}
Example of usage:
List
Expected outcome:
__________________________________________________________
Here are the tasks in your list:
1.[T][Status: DONE] read books
2.[E][Status: DONE] celebrate birthday (at: SUNDAY,
16 FEBRUARY 2020 14:00 )
3.[D][Status: DONE] finish homework (by: TUESDAY,
18 FEBRUARY 2020 9:00 )
__________________________________________________________
Find
- Finds a list Tasks that matches the search key.Example of usage:
Find books
Expected outcome:
__________________________________________________________
Here are the matching tasks in your list!
1.[T][Status: PENDING] read books
__________________________________________________________
Help
- Lists commands that can be carried out by NiniExample of usage:
help
Expected outcome:
__________________________________________________________
Below would be a list of commands that you will find
useful!
1. [Todo] - Adds a Task of type Todo.
To add a Todo Task, type {todo} {task description}
2. [Event] - Adds a Task of type Event.
To add an Event Task, type {event} {task description}
{/} {timing}
3. [Deadline] - Adds a Task of type Deadline.
To add a Deadline Task, type {event} {task description}
{/} {timing}
4. [Done] - Marks a specific Task as completed.
To mark a Task as completed, type {done} {task index}
To mark ALL Tasks as completed, type {done} {all}
5. [Delete] - Delete Tasks from Task List.
To delete Tasks from Task List, type {delete}
{task index}
To delete ALL Tasks from the Task List, type {delete}
{all}
***Note: when using this command, Nini will prompt the
User to confirm if they intend on deleting _ALL_ Tasks.
User is then required to type Y for Yes or N for No.***
6. [List] - Lists all currently available Tasks in the Task
List.
To retrieve the current list of Tasks, type {list}
7. [Find] - Finds a list Tasks that matches the search key.
To find a list of matching Tasks, type {find}
__________________________________________________________