Beginner project · about 35 minutes
Command-line To-Do Manager ✅
Build the classic productivity tool with add, complete, list and delete, saved to a file.
Every developer has written a to-do app. It teaches how data flows in and out of a program and how to structure code as functions. Commands arrive through the input box, one per line.
What you will build
- Model a task Each task is a dict: {"title": ..., "done": False}. Keep them in a list.
- Write the commands add <title>, done <number>, list, quit. Split the command on the first space.
- Render the list Print "[x]" or "[ ]" before each title with its number.
- Persist Save to tasks.json with json.dump after each change and load it at start if it exists.
Skills: lists, dicts, files, functions