Task Tracker is a project from backend roadmap.sh
- Add: Create a new task.
- Update: Modify an existing task's description.
- Delete: Remove a task from the list.
- Mark as Done: Mark a task as completed.
- Mark as In Progress: Mark a task as currently being worked on.
- List Tasks: View all tasks, filter by status (todo, in-progress, done).
Each task in the Task Tracker has the following properties:
- id: A unique identifier for the task.
- description: A short description of the task.
- status: The current status of the task (
todo,in-progress,done). - createdAt: The date and time when the task was created.
- updatedAt: The date and time when the task was last updated.
- A compatible programming language environment (e.g., Go).
- Command-line interface.
-
Clone the repository:
git clone https://github.com/pol-cova/task-tracker-cli.git cd task-tracker-cli -
Build the project (if applicable, based on your programming language):
go build -o tasky
-
Run the CLI:
./tasky
-
Add a Task:
./tasky add "Your task description" -
Update a Task:
./tasky update <task_id> "New task description"
-
Delete a Task:
./tasky delete <task_id>
-
Mark a Task as Done:
./tasky mark-done <task_id>
-
Mark a Task as In Progress:
./tasky mark-in-progress <task_id>
-
List All Tasks:
./tasky list
-
List Tasks by Status (e.g.,
todo,in-progress,done):./tasky list <status>
- Data Storage: Tasks are stored in a JSON file (
tasks.json) located in the current directory. This file is created automatically if it does not exist. - Error Handling: The application gracefully handles errors and edge cases to ensure smooth operation.