Todo List
Level: Beginner 15–30 minConcepts: Strings
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 task. 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.