π Description
The Personal To-Do List Application is a simple task management tool built with Python. It allows users to create, view, edit, and delete tasks, and categorize them into groups such as Work, Personal, and Urgent. The tasks are saved locally in a JSON file, ensuring that the task list is preserved across different sessions.
- β Task Management: Add tasks with a title, description, and category.
- βοΈ Task Completion & Deletion: Mark tasks as completed or delete them from the list.
- ποΈ Task Categorization: Classify tasks into categories such as Work, Personal, or Urgent.
- πΎ Persistence: Tasks are saved locally in a JSON file, allowing them to be available even after the application is closed.
/todo_app
βββ todo.py # Main application logic
βββ tasks.json # JSON file to store tasks
βββ README.md # Project documentation
- Clone the repository:
git clone https://github.com/smileagain6698/todo_py.git
- Navigate to the project directory:
cd todo-app
- Run the application:
- For Command-Line Interface (CLI):
python todo.py
π₯οΈ Command-Line Interface (CLI)
- Run the application from the terminal:
python todo.py
- You will see the following menu:
--- To-Do List ---
1. Add Task
2. View Tasks
3. Mark Task Completed
4. Delete Task
5. Exit
- Add a Task:
- Choose option
1
and enter the task details when prompted (title, description, category).
- View Tasks:
- Choose option
2
to display all the tasks.
- Mark a Task as Completed:
- Choose option
3
, then enter the task number to mark it as completed.
- Delete a Task:
- Choose option
4
, then enter the task number to delete it.
- Exit:
- Choose option
5
to exit and save your tasks.
The application uses a Task class to handle individual tasks.
class Task:
def __init__(self, title, description, category):
self.title = title
self.description = description
self.category = category
self.completed = False
def mark_completed(self):
self.completed = True
Tasks are saved to and loaded from a tasks.json
file in the following format:
[
{
"title": "Finish Assignment",
"description": "Complete the math assignment",
"category": "Work",
"completed": false
},
...
]
- β« Add task priority levels (High, Medium, Low).
- π Implement reminders and notifications for due tasks.
- πΌοΈ Expand the Tkinter GUI to include more interactive elements.
his project is open source and available under the MIT License.