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!