Task tracker is a project used to track and manage my tasks. In this task, you will build a simple command line interface (CLI) to track what you need to do, what you have done, and what you are currently working on. This project will help you practice your programming skills, including working with the filesystem, handling user inputs, and building a simple CLI application.
The application runs from the command line, accepts user actions and inputs as arguments, and stores the tasks in a JSON file. The user can:
- Add, Update and Delete tasks
- Mark a task as in progress or done
- List all tasks
- List all tasks that are done
- List all tasks that are not done
- List all tasks that are in progress
The list of commands and their usage is given below:
# Adding a new task
taskly add "Buy groceries"
# Output: Task added successfully (ID: 1)
# Updating and deleting tasks
taskly update 1 "Buy groceries and cook dinner"
taskly delete 1
# Marking a task as in progress or done
taskly mark-in-progress 1
taskly mark-done 1
# Listing all tasks
taskly list
# Listing tasks by status
taskly list done
taskly list todo
taskly list in-progress
Each task has the following properties:
id
: A unique identifier for the taskdescription
: A short description of the taskstatus
: The status of the task (todo, in-progress, done)createdAt
: The date and time when the task was createdupdatedAt
: The date and time when the task was last updated