Project URL: https://roadmap.sh/projects/task-tracker
This is a small terminal-based task tracker built in Python.
It’s meant to be simple, lightweight, and easy to tweak if you want to expand it.
The app lets you create tasks, update them, delete them, and track their progress — all from the command line. Everything gets saved in a JSON file so your tasks stick around the next time you open the program.
Here’s what the task tracker supports right now:
- Add new tasks with a name, description, and status
- Update an existing task (rename it, change the description, or update the progress)
- Delete tasks you don’t need anymore
- Mark tasks as not done, in progress, or done
- List your tasks by status (all, done, in progress, or not done)
- Automatically save everything in a JSON file (
tasks.json)
- Make sure you have Python 3 installed.
- Run the script from your terminal:
python task_tracker.py
- You’ll see a menu that looks something like this:
TASK TRACKER
- Manage tasks
- List all tasks
- List tasks that are done
- List tasks that are not done
- List tasks that are in progress
- Quit
From there, just choose what you want to do.
If you choose to manage tasks, you’ll be able to:
Add a task
Update a task
Delete a task
When adding or updating, the app will walk you through what to enter.
HOW TASKS ARE STORED
Tasks are saved in a local file called tasks.json which is automatically created the first time you run the program.
The file looks something like this:
{ "Do Laundry": { "description": "Wash and fold clothes", "progress": "in progress" }, "Finish Python Project": { "description": "Write code and push to GitHub", "progress": "done" } }
If you ever want to start fresh, just delete the file and run the program again.
WHY THIS PROJECT EXISTS
This project is meant to be:
a beginner-friendly Python exercise
a clean example of a terminal menu loop
a basic demo of loading/saving JSON in a real program
something you can build on if you want a more advanced task manager
Feel free to fork it and turn it into whatever you want — add colors, add due dates, convert it to a GUI, whatever sounds fun.
CONTRIBUTING
If you have ideas or want to clean something up, pull requests are always welcome. Bug reports, improvements, suggestions — all appreciated.