1 min read

Task Management with the Command Line: A Simplified Approach

Task Management with the Command Line: A Simplified Approach

We're building a powerful CLI tool that makes managing your tasks easier and faster! Here's what you'll be able to do with the app:

✅ Create tasks with descriptions, priorities, and due dates
✅ Mark tasks as done and track your progress
✅ Delete tasks with a handy trash feature and restore them when needed
✅ Repeat tasks a specified number of times for better scheduling
✅ List tasks in a clean, easy-to-read format or output them in JSON format for quick viewing

Data Structure:

{
  "tasks": [
    {
      "text": "Fix bug report",
      "done": false,
      "priority": "high",
      "due_date": "2025-08-19"
    },
    {
      "text": "Write unit tests",
      "done": true,
      "priority": "medium",
      "due_date": "2025-08-20"
    },
    {
      "text": "Clean the office",
      "done": false,
      "priority": "low",
      "due_date": "2025-08-21"
    }
  ]
}

Core Functions You'll Be Using:

  • load_data(): Load your tasks from the file
  • load_trash_data(): Fetch tasks that have been deleted
  • save_data(): Save tasks back to the file
  • save_trash_data(): Save deleted tasks to trash
  • add_task(): Add a new task with all the details
  • list_task(): View your tasks in an easy-to-read format
  • complete_task(): Mark tasks as completed
  • delete_task(): Remove tasks from your list
  • restore_task(): Bring back a task from the trash
  • repeat_task(): Set a task to repeat a specific number of times

All of this will be built using argparse to handle the command-line arguments, making it simple to use while improving your command-line skills!