TO-DO LIST:
A simple and interactive command-line To-Do List application built using Python. This project helps users manage daily tasks efficiently with features like task priorities, motivational messages, achievements, and automatic data saving.
Features: Add tasks with priority levels (High/Medium/Low) • Remove tasks by task number or name • View tasks sorted by priority • Automatic timestamp for each created task • Motivational quotes for encouragement • Achievement badges based on completed tasks • Data stored in JSON file (persistent storage) • Lightweight and runs entirely in terminal
Testing Approach Unit Testing: Each function tested individually to ensure correct behavior. Integration Testing: Checked the complete workflow from adding to removing tasks. Boundary Testing: Tested empty lists, invalid inputs, and non-existent tasks. Randomness Testing: Verified motivational messages and task suggestions appear correctly.
TECHNOLOGIES USED :
- PYTHON
- LIBRARIES : JSON,Datetime,os
- Environment : VS CODE INSIDERS
Modules Used Module Purpose
random Display motivational quotes, random suggestion
time Provide small delays for better UX
datetime Add timestamps for tasks json Save & load tasks (persistent storage)
os Clear console and check file existence
How to Run the Project:
- Install Python (3.10+ recommended)
- Open the folder in VS Code or terminal
- Run the script: python todo.py
Project Structure:
todo-list-project
│── todo.py
│── PROJECT REPORT.pdf
│── README.md
Functions Overview:
-
addtask() Takes user input Validates priority Saves task with timestamp Writes to JSON file
-
removetask() Remove by number or name Updates completed count Saves updated list
-
viewtasks() Sorts tasks by priority Shows count + a suggested task
-
showyourachievement() Awards badges: Master the task,Rising Prodigy, Beginner
Objective:To help users organize and track tasks effectively through an easy-to-use Python CLI system that encourages productivity and motivation.
Future Enhancements : Implement persistent storage (file/database) to save tasks permanently. Develop a GUI version using Tkinter or PyQt. Add reminders or notifications for pending tasks. Enable task categories or tags for better organization. Integrate analytics or dashboard to track completed tasks over time. Integrate with calendar apps or email notifications.




