This is a simple Flask web application that allows users to add tasks with due dates and prioritize them based on how soon they are due.
- Add tasks with due dates
- Automatically prioritize tasks based on the closest due date
- View the prioritized list of tasks
- Reset the task list
- Python 3.x
- Flask
- Clone the repository:
git clone https://github.com/Mohammed-Majid/Task-Manager.git
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the dependencies:
pip install Flask
- Run the application:
python app.py
- Open your browser and go to:
http://127.0.0.1:5000
-
Open the application in your browser.
-
Add tasks:
- Enter the task name and due date (in dd/mm format) in the form and submit.
- View the prioritized list of tasks:
- The tasks will be displayed in the order of their due dates, from soonest to latest.
- Reset the task list:
- Click the "Reset" button to clear all tasks.
app.py: The main Flask application file.templates/index.html: The HTML template for rendering the task form and displaying the prioritized list.static/css/styles.css: The CSS file for styling the HTML template.
- This project uses an adj list with a graph that initially has one node "A".
- Each time a task is added, a weighted edge connected to a neighbor is added.
- weights represent the number of days left while nodes represent the tasks.
- A min heap is used to sort through the weights of the graph to order them in a priority list.