This project is a console-based To-Do List Manager developed using Python as part of the Elevate Labs Python Developer Internship Task 2.
The application allows users to manage daily tasks efficiently through a simple terminal interface. Tasks are stored permanently using file handling so they remain available even after restarting the program.
- View all saved tasks
- Add new tasks
- Remove existing tasks
- Mark tasks as completed
- View pending and completed tasks separately
- Display task statistics (total, completed, pending)
- Completion status tracking using checkbox format
- Confirmation before deleting tasks
- Automatic timestamp when task is added
- Persistent task storage using text file
- User-friendly console menu interface
- Error handling for invalid input
Displays the available operations of the To-Do List Manager.
Allows users to add tasks with automatic date and time.
Updates task status from pending [ ] to completed [✓].
Separates pending and completed tasks clearly.
Shows total, completed, and pending task counts.
- Python
- File Handling
- Lists
- Functions
- String Manipulation
- Datetime module
todo.py → main application file
tasks.txt → stores saved tasks
README.md → project documentation
Step 1: Run the following command in terminal: python todo.py
Step 2: Choose options from menu: 1 → View tasks 2 → Add task 3 → Remove task 4 → Exit
- Python Lists
- File Handling (read/write)
- Context Managers (with statement)
- Exception Handling
- Functions in Python
- Input validation
Task Name: Console-Based To-Do List Application
Internship Role: Python Developer Intern
Organization: Elevate Labs
Successfully developed a persistent console-based task manager that allows users to add, view, and delete tasks stored locally using Python.




