A Python-based command-line application to manage daily tasks. This project demonstrates the application of Object-Oriented Programming (OOP), File Persistence, and Modular Software Design.
- Task Management: Easily add, remove, and view tasks.
- Priority Levels: Assign priorities (High, Medium, Low) to each task.
- Data Persistence: Tasks are automatically saved to and loaded from a CSV file, ensuring no data is lost between sessions.
- Input Validation: Robust error handling to prevent application crashes on invalid user inputs.
- OOP: Used a
Taskclass for data modeling and aToDoListclass for logic management. - CSV Module: Implemented
csv.writerandcsv.readerfor efficient data storage. - Modular Design: Separated the business logic (
todo.py) from the user interface (main.py).
- Clone this repository:
git clone https://github.com/ParsaZarabi/python-todo-app.git- Navigate to the project folder:
cd python-todo-app- Run the application:
python3 main.pyThrough this project, I strengthened my understanding of:
- Class-based architecture in Python.
- Managing state and persistence using CSV files.
- Implementing interactive CLI menus with robust error handling.