{"id":25349614,"url":"https://github.com/lloydlegaspi/taskify-daa-project","last_synced_at":"2026-04-15T16:07:08.688Z","repository":{"id":276313918,"uuid":"807872031","full_name":"lloydlegaspi/Taskify-DAA-Project","owner":"lloydlegaspi","description":"A task scheduling application that implements Merge Sort algorithm for task sorting.","archived":false,"fork":false,"pushed_at":"2025-02-11T02:53:46.000Z","size":2462,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T20:51:23.285Z","etag":null,"topics":["merge-sort","streamlit","task-management"],"latest_commit_sha":null,"homepage":"https://taskify-daa.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lloydlegaspi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-05-30T00:06:26.000Z","updated_at":"2025-02-11T02:53:50.000Z","dependencies_parsed_at":"2025-02-07T14:21:55.615Z","dependency_job_id":"2538beb4-b971-4d1c-b100-3b03ed76cd9d","html_url":"https://github.com/lloydlegaspi/Taskify-DAA-Project","commit_stats":null,"previous_names":["lloydlegaspi/taskify-daa-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lloydlegaspi/Taskify-DAA-Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lloydlegaspi%2FTaskify-DAA-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lloydlegaspi%2FTaskify-DAA-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lloydlegaspi%2FTaskify-DAA-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lloydlegaspi%2FTaskify-DAA-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lloydlegaspi","download_url":"https://codeload.github.com/lloydlegaspi/Taskify-DAA-Project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lloydlegaspi%2FTaskify-DAA-Project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266991271,"owners_count":24017740,"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","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["merge-sort","streamlit","task-management"],"created_at":"2025-02-14T16:43:39.091Z","updated_at":"2026-04-15T16:07:08.659Z","avatar_url":"https://github.com/lloydlegaspi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Taskify 🗓️\n![MIT License](https://img.shields.io/badge/license-MIT-blue.svg) ![Python Version](https://img.shields.io/badge/python-3.8%2B-yellowgreen.svg)\n---\n\nA task scheduling application developed in partial fulfillment of the course **COSC 203: Design and Analysis of Algorithms**\n\n## Table of Contents\n- [Project Overview](#project-overview)\n- [Live Site](#live-site)\n- [Features](#features)\n- [Screenshots](#screenshots)\n- [Tech Stack](#tech-stack)\n- [System Architecture](#system-architecture)\n- [Run Locally](#run-locally)\n- [Collaborators](#collaborators)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n\n## Project Overview\n\nTaskify is a task scheduling tool that optimizes user task scheduling efficiency by implementing the Merge Sort algorithm for effective task prioritization. The application provides a user-friendly interface for managing tasks, setting working hours, and exporting schedules to calendar applications.\n\n## Live Site\n🔗 [View Live Site](https://taskify-daa.streamlit.app/)\n\n## Features\n\n- **Working Hours Management**: Set custom working hours to define available time slots\n- **Task Management**: Add tasks with details like name, due date, priority, and duration \n- **Smart Scheduling**: Uses Merge Sort algorithm to prioritize tasks based on:\n  - Due dates\n  - Priority levels (High, Medium, Low)\n- **Calendar Integration**: Export schedules as .ics files for use with external calendar applications\n- **Task Splitting**: Automatically splits tasks across multiple available time slots if they exceed working hour\n\n## Screenshots\n![Home Page](public/img/Home-Page.png)\n![Create Page](public/img/Create-Page-1.png)\n![Create Page](public/img/Create-Page-2.png)\n![View Page](public/img/View-Page-1.png)\n![View Page](public/img/View-Page-2.png)\n![Sample Result](public/img/Sample-Result.png)\n\n## Tech Stack\n- Frontend: Streamlit for UI development\n- Backend: Python for task scheduling logic\n- Calendar Integration: icalendar library for .ics file generation\n- Version Control: Git and GitHub\n- Deployment: Streamlit Cloud\n\n## System Architecture\n\n1. **User Input Interface**\n   - Working hours configuration (start/end times)\n   - Task input with validation\n   - Visual task management\n\n2. **Task Processing**\n   - Merge Sort implementation for task prioritization\n   - Primary sort by due date\n   - Secondary sort by priority for same-day tasks\n\n3. **Calendar Generation**\n   - Automatic task scheduling within working hours\n   - Smart task splitting across multiple days if needed\n   - ICS file generation for calendar export\n\n### Run Locally\nClone the Repository:\n\n```bash\ngit clone https://github.com/lloydlegaspi/Taskify-DAA-Project.git\ncd taskify\n```\n\nInstall Dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\nRun the Application:\n\n```bash\nstreamlit run Main.py\n```\n\nAccess the Application:\nOpen your browser and navigate to the link provided in the terminal.\n\n## Collaborators\n\n- Doria, Chynna Mae V.\n- Legaspi, John Lloyd S.\n- Macaraeg, Paul Angelo O.\n- Valoria, Kyla Mae N.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\nDeveloped at the Polytechnic University of the Philippines' College of Computer and Information Sciences.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flloydlegaspi%2Ftaskify-daa-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flloydlegaspi%2Ftaskify-daa-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flloydlegaspi%2Ftaskify-daa-project/lists"}