A lightweight Python console application for managing daily tasks. Built using Object-Oriented Programming (OOP), persistent JSON storage, and standard Python modules.
- Add new tasks (title + description) with created timestamp
- View all saved tasks with IDs and timestamps
- Update task title and/or description — records updated timestamp
- Delete tasks with confirmation
- Persistent storage using a JSON file (
src/tasks.json) - Unique numeric ID generation for each task
- Robust error handling for file operations and user input
- Python 3.8 or newer is recommended.
No external packages are required — the application only uses Python standard library modules (json, datetime, random).
git clone https://github.com/<your-username>/student-task-tracker.git
cd student-task-trackerRun the application from the project root:
python src/main.pyYou will see a menu:
===== Student Task Tracker =====
1. Add New Task
2. View All Tasks
3. Update Task
4. Delete Task
5. Exit
Choose an option by entering the corresponding number.
- Tasks are saved automatically to
src/tasks.jsonafter all operations. tasks.jsonwill be created automatically if it doesn't exist.- Do not commit
src/tasks.jsonto version control; it holds local data.
Tasks are stored in JSON array form. Example:
[
{
"id": 123456,
"title": "Study Python",
"description": "Finish module requests",
"created_at": "YYYY-MM-DD HH:MM:SS",
"updated_at": "YYYY-MM-DD HH:MM:SS"
}
]updated_at is present only if the task has been updated.
This project is licensed under the MIT License — a permissive open-source license that allows personal and commercial use, modification, and distribution. See the LICENSE file for full details.