Skip to content

CLI Task Manager

Build a complete command-line application for managing tasks with file persistence.

In this project, you’ll create a task manager that:

  • Adds new tasks
  • Lists all tasks
  • Marks tasks as complete
  • Saves tasks to a JSON file
  • Apply clean architecture principles
  • Use interfaces for testability
  • Implement file-based persistence
  • Handle command-line arguments

Implement a task manager with the following commands:

  • add "Task description" - Add a new task
  • list - Show all tasks with their status
  • complete <id> - Mark a task as complete

CLI Task Manager

~45 minmedium

Build a command-line task management application

Once you’ve completed the basic implementation, try adding:

  1. A delete command to remove tasks
  2. Due dates for tasks
  3. Priority levels (high, medium, low)
  4. Filtering tasks by status or priority