{"id":20619362,"url":"https://github.com/mohammed-majid/task-manager","last_synced_at":"2025-10-16T07:07:37.205Z","repository":{"id":241637831,"uuid":"651818335","full_name":"Mohammed-Majid/Task-Manager","owner":"Mohammed-Majid","description":"To-do list web app that organizes data using a heap data structure","archived":false,"fork":false,"pushed_at":"2024-05-28T20:42:59.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T05:08:30.607Z","etag":null,"topics":["data-structures","graph","heap"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mohammed-Majid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-10T07:27:59.000Z","updated_at":"2024-08-06T14:52:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"02259a88-ef80-454d-9c0d-23f90d727a7b","html_url":"https://github.com/Mohammed-Majid/Task-Manager","commit_stats":null,"previous_names":["mohammed-majid/task-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Majid%2FTask-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Majid%2FTask-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Majid%2FTask-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mohammed-Majid%2FTask-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mohammed-Majid","download_url":"https://codeload.github.com/Mohammed-Majid/Task-Manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242277652,"owners_count":20101536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-structures","graph","heap"],"created_at":"2024-11-16T12:11:29.136Z","updated_at":"2025-10-16T07:07:32.158Z","avatar_url":"https://github.com/Mohammed-Majid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask To-Do List Application\n\nThis 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. \n\n## Features\n\n- Add tasks with due dates\n- Automatically prioritize tasks based on the closest due date\n- View the prioritized list of tasks\n- Reset the task list\n\n## Requirements\n\n- Python 3.x\n- Flask\n\n## Setup and Installation\n\n1. **Clone the repository:**\n```\ngit clone https://github.com/Mohammed-Majid/Task-Manager.git\n```\n2. **Create a virtual environment:**\n```\npython -m venv venv\nsource venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n```\n3. **Install the dependencies:**\n```\npip install Flask\n```\n4. **Run the application:**\n```\npython app.py\n```\n5. **Open your browser and go to:**\n```\nhttp://127.0.0.1:5000\n```\n## Usage\n\n1. Open the application in your browser.\n   \n2. Add tasks:\n  - Enter the task name and due date (in dd/mm format) in the form and submit.\n    \n3. View the prioritized list of tasks:\n  - The tasks will be displayed in the order of their due dates, from soonest to latest.\n    \n4. Reset the task list:\n  - Click the \"Reset\" button to clear all tasks.\n    \n## Project Structure\n\n- `app.py`: The main Flask application file.\n- `templates/index.html`: The HTML template for rendering the task form and displaying the prioritized list.\n- `static/css/styles.css`: The CSS file for styling the HTML template.\n\n\n\n## Extra info\n\n- This project uses an adj list with a graph that initially has one node \"A\". \n- Each time a task is added, a weighted edge connected to a neighbor is added.\n- weights represent the number of days left while nodes represent the tasks.\n- A min heap is used to sort through the weights of the graph to order them in a priority list.\n\n\n\n\u003cimg width=\"1274\" alt=\"Screen Shot 2023-06-10 at 11 39 02 AM\" src=\"https://github.com/Mohammed-Majid/Task-Manager/assets/136110323/f46ffdd8-bc92-4edf-a912-ad90dd2cf90e\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammed-majid%2Ftask-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammed-majid%2Ftask-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammed-majid%2Ftask-manager/lists"}