Skip to content

"A Tkinter-based task scheduling application using DSA principles such as AVL tree, priority queue (heap), and JSON files.”

Notifications You must be signed in to change notification settings

hamna-06/Task-Scheduler-Application

Repository files navigation

Task-Scheduler-Application

This is a task scheduling application using DSA principles such as AVL tree, priority queue (heap), Json files.
The Task Scheduler Application is a Tkinter-based desktop tool designed to help users manage tasks efficiently.
It allows users to add, update, delete, and search for tasks while providing an intuitive interface to visualize tasks in a tabular format.
Each task includes attributes like name, deadline, and priority, with automatic calculation of days remaining until the deadline.
This application is suitable for personal task tracking and offers a reliable, user-friendly way to stay organized.

Features:

Welcome Page:

1. Displays a welcome image using the PIL library.
2. Includes a "Start" button to transition to the main application.

Task Management:

1. Add Task: Adds a task with a name, deadline, and priority.
2. Update Task: Updates the details (deadline, priority) of an existing task.
3. Delete Task: Removes a task by name.
4. Search Task: Finds a task by name and displays its details.
5. Sort Tasks: Sorts tasks based on priority using a priority queue.
6. Clear Input: Clears all input fields for convenience.

Task Validation:

1. Task name must be at least 3 characters long, and it cannot contain special characters.
2. Deadline must not be in the past.
3. Priority must be a valid integer.

Task Visualization:

Uses a Treeview widget to display tasks in a tabular format, showing:
1. Task Name
2. Deadline
3. Priority
4. Days Remaining
5. Data Persistence:
Tasks are saved in a JSON file (tasks.json) for persistence across sessions.
Tasks are loaded from the file on application start.

Automatic Deadline Calculation:

The Task class calculates the number of days left until the deadline.

Responsive Design:

Tasks and buttons are displayed dynamically using tk.Canvas, allowing for better positioning and resizing.

About

"A Tkinter-based task scheduling application using DSA principles such as AVL tree, priority queue (heap), and JSON files.”

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published