Skip to content

About

A modular To-Do List application implemented in Python, focusing on Object-Oriented Programming (OOP) and data persistence using CSV files.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

📝 Professional To-Do List Manager

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.

🚀 Features

  • 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.

🛠️ Technical Implementation

  • OOP: Used a Task class for data modeling and a ToDoList class for logic management.
  • CSV Module: Implemented csv.writer and csv.reader for efficient data storage.
  • Modular Design: Separated the business logic (todo.py) from the user interface (main.py).

⚙️ How to Run

  1. Clone this repository:
   git clone https://github.com/ParsaZarabi/python-todo-app.git
  1. Navigate to the project folder:
   cd python-todo-app
  1. Run the application:
   python3 main.py

🎓 Key Learnings

Through 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.

About

A modular To-Do List application implemented in Python, focusing on Object-Oriented Programming (OOP) and data persistence using CSV files.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages