Todo List
Write a todo list application with the following features:
-
Enter a task to be completed specifying the task and due date. For simplicity sake save your data to a text file in csv format.
todo.exe task -t Complete Application -d 2018-04-01
-
List task specifying the status of the take. The available statuses are All or Incomplete. Incomplete will only show task not marked as completed.
todo.exe list -s [All| Incomplete]
The output should be something like
Id: 1
Task: Thing #1
Due: 2018-04-01 - Mark a task as complete by passing in the task Id.
todo.exe -c [Id]
Hint
Only worry about writing the library code to facilitate the todo list. There is no need to actually parse the arguments.
Bonus
-
Allow the user to create sub-task for an existing task. Do this by amending the create function to take in a parent task Id.
todo.exe task -t Sub Task -d 2018-04-02 -p 1
-
Amend the task list output to list all sub-task under the parent task
- If no children task exists do NOT show the > Child Task < header
-
Example output when task exist
Id: 2
Task: Thing #2
Due: 2018-04-01 > Child Task <
Id: 1
Task: Thing #1
Due: 2018-04-02
- Amend the complete task function to print an error if the user tries to mark the parent task as complete without all children task being marked as complete already.