You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A simple and intuitive To-Do List application built with Python's Tkinter library for the GUI and SQLite for persistent task storage. This application helps you manage tasks with categories, due dates, and priority levels, allowing easy organization of daily activities.
3
+
4
+
**Features**
5
+
6
+
Add Tasks: Add tasks with a description, category, due date, and priority level (High, Medium, Low).
7
+
8
+
View Tasks: View all tasks, or filter tasks to see only completed or pending ones.
9
+
10
+
Search Tasks: Quickly search tasks by their name or category using the search bar.
11
+
12
+
Toggle Theme: Switch between dark and light themes to match your preference.
13
+
14
+
Mark Tasks as Complete: Mark tasks as completed to keep track of what’s done.
15
+
16
+
Persistent Storage: All tasks are saved in an SQLite database, ensuring data is saved even after closing the app.
17
+
18
+
19
+
**Prerequisites**
20
+
21
+
Python 3.6+
22
+
Tkinter (Usually included with Python)
23
+
SQLite (Included in Python’s standard library)
24
+
tkcalendar: Install using pip install tkcalendar
25
+
26
+
**Usage Instructions**
27
+
28
+
1. Add a Task
29
+
Enter a task description in the Task field.
30
+
Specify the Category for better organization.
31
+
Select a Due Date from the date picker.
32
+
Choose a Priority from the drop-down menu (High, Medium, Low).
33
+
Click Add Task to save it.
34
+
35
+
2. View All Tasks
36
+
Click on View All Tasks in the sidebar to display a list of all tasks.
37
+
Tasks are displayed with their description, category, due date, and priority level.
38
+
39
+
3. View Completed Tasks
40
+
Click View Completed Tasks in the sidebar to see tasks that have been marked as complete.
41
+
42
+
4. View Pending Tasks
43
+
Click View Pending Tasks in the sidebar to view tasks that are yet to be completed.
44
+
45
+
5. Search Tasks
46
+
Use the Search bar in the sidebar to find tasks by their description or category.
47
+
The list of tasks will update as you type, showing only those that match the search term.
48
+
49
+
6. Mark Tasks as Complete
50
+
Select a task from the list and click Mark as Complete (add this button in your application).
51
+
Completed tasks will no longer appear in the pending tasks view.
52
+
53
+
7. Toggle Dark/Light Theme
54
+
Click Toggle Theme in the sidebar to switch between dark and light modes.
55
+
This changes the background color, text color, and button styles for a better visual experience.
56
+
57
+
8. Close the Application
58
+
Close the application by clicking the window close button (X) or selecting Exit.
59
+
The application safely saves your tasks and closes the database connection.
60
+
61
+
62
+
**Database Structure**
63
+
The application uses an SQLite database with the following table structure:
64
+
65
+
Table Name: tasks
66
+
67
+
Column Name Type Description
68
+
69
+
id INTEGER Primary key, unique task ID
70
+
task TEXT Description of the task
71
+
category TEXT Category of the task (e.g., Work, Home)
72
+
due_date TEXT Due date of the task
73
+
priority TEXT Priority level (High, Medium, Low)
74
+
completed INTEGER Status (0 = Pending, 1 = Completed)
75
+
76
+
**License**
77
+
This project is licensed under the MIT License. See the LICENSE file for details.
78
+
79
+
**Acknowledgments**
80
+
Thanks to the Python community for their extensive libraries and documentation.
81
+
Special thanks to the creators of tkcalendar for providing a simple date picker widget for Tkinter.
0 commit comments