{"id":19619215,"url":"https://github.com/justehmadsaeed/timetable-scheduler","last_synced_at":"2026-03-17T11:08:31.098Z","repository":{"id":40256448,"uuid":"274460659","full_name":"justEhmadSaeed/timetable-scheduler","owner":"justEhmadSaeed","description":"⏲ An Activity Scheduling Project of Algorithms Analysis to schedule the timetable for Educational Institutes.","archived":false,"fork":false,"pushed_at":"2023-02-03T15:25:22.000Z","size":9156,"stargazers_count":42,"open_issues_count":11,"forks_count":39,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-14T05:47:02.792Z","etag":null,"topics":["algorithm-challenges","algorithms","algorithms-and-data-structures","algorithms-implemented","hacktoberfest","time-schedule","timetable-generator"],"latest_commit_sha":null,"homepage":"https://justehmadsaeed.github.io/timetable-scheduler/","language":"JavaScript","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/justEhmadSaeed.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2020-06-23T16:52:20.000Z","updated_at":"2025-09-02T05:50:40.000Z","dependencies_parsed_at":"2023-02-08T17:15:32.190Z","dependency_job_id":null,"html_url":"https://github.com/justEhmadSaeed/timetable-scheduler","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/justEhmadSaeed/timetable-scheduler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justEhmadSaeed%2Ftimetable-scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justEhmadSaeed%2Ftimetable-scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justEhmadSaeed%2Ftimetable-scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justEhmadSaeed%2Ftimetable-scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justEhmadSaeed","download_url":"https://codeload.github.com/justEhmadSaeed/timetable-scheduler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justEhmadSaeed%2Ftimetable-scheduler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30622458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T08:10:05.930Z","status":"ssl_error","status_checked_at":"2026-03-17T08:10:04.972Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["algorithm-challenges","algorithms","algorithms-and-data-structures","algorithms-implemented","hacktoberfest","time-schedule","timetable-generator"],"created_at":"2024-11-11T11:12:33.321Z","updated_at":"2026-03-17T11:08:31.081Z","avatar_url":"https://github.com/justEhmadSaeed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\u003cimg src=\"https://user-images.githubusercontent.com/46846821/89666520-f195cb80-d8f3-11ea-80bb-f9d5137c6c6c.png\" alt =\"Activity Scheduing\"\u003e\r\n\u003ch1\u003eTimetable Scheduler\u003c/h1\u003e\r\n\u003c/div\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n\t\u003cimg src=\"https://img.shields.io/badge/License-MIT-%230F2A5F\" alt=\"license MIT\"\u003e\r\n\u003c/div\u003e\r\n\r\n## 🎯 Plan of Action\r\n\r\nThe project deals with specific constraints:\r\n\r\n- There should be no more than one class of teachers at the same time.\r\n\r\n- There should be only one teacher assigned to each class during a lecture.\r\n\r\n- A teacher cannot teach more than one subject to a class.\r\n\r\n- Each subject can be assigned to a class at most one time.\r\n\r\n- Credit hours cannot exceed contact hours.\r\n\r\n- There can be only one lecture of a teacher/ subject in a class per day.\r\n\r\n- The lecture arrangement feature is available to let users decide how multiple lectures of a subject can appear in the timetable.\r\n\r\n- The user can define maximum lectures per day and the working days per week.\r\n\r\n## 🚀 Installation Guidelines\r\n\r\n### Prerequisite\r\n\r\nMake sure you have the following tools, installed on your system.\r\n\r\n- [git](https://git-scm.com/downloads)\r\n- [node/ npm](https://nodejs.org/en/download/)\r\n\r\n### Fork/ Clone the repository:\r\n\r\nClick on the fork button in the top right corner or just [click this](https://github.com/justEhmadSaeed/timetable-scheduler/fork).\r\nCopy the URL from that green `code` button to clone the project.\r\nOpen a terminal in your desired directory and run the following command with `REPO_URL` replaced by the link you just copied:\r\n\r\n```\r\ngit clone REPO_URL\r\n```\r\n\r\n### Set Project Configurations:\r\n\r\n- Make an account on firebase and fill up the .env variables on the frontend.\r\n- Also, download serviceAccountKey.json from firebase project and add it in the `backend/constants` directory.\r\n\r\n### Open Two Terminals:\r\n\r\n- Set path of the first terminal to the root of the project folder, that would have /CS311S20PID08 at the end of the path. This terminal will operate the **frontend** of the project.\r\n\r\n- For the second terminal, set its path to the **backend** folder, located in the root directory, or you can initialize its path from the root directory, which will have the same path as of the first terminal and then you can run the following command to set its path to the backend folder.\r\n\r\n```\r\ncd backend\r\n```\r\n\r\n### Install the required npm Packages/ dependencies:\r\n\r\nTo install the dependencies of both frontend and backend, run the following command in both terminals:\r\n\r\n```bash\r\n# npm\r\nnpm install\r\n# yarn\r\nyarn\r\n```\r\n\r\nMake sure you run the above-mentioned command for both terminals without any errors.\r\n\r\n### Run the project:\r\n\r\nNow assuming that your system has all the dependencies required to run the project, it is now set to run over your system.\r\n\r\nNow for the final step, run the following command in both terminals to start the project:\r\n\r\n```bash\r\n# npm\r\nnpm start\r\n# yarn\r\nyarn start\r\n```\r\n\r\nThe link for the application will appear in the frontend terminal.\r\n\r\nFor the next time, you have to follow steps 2 \u0026 4 only.\r\n\r\n## 👨🏻‍💻 Contributing\r\n\r\nMake sure you read the [contributing guidelines](contributing.md) before opening a PR.\r\n\r\n## 📧Contact Us\r\n\r\nIn case of any query regarding the project installation, feel free to contact:\r\n\r\n- 🧑 [Ehmad Saeed](https://twitter.com/justEhmadSaeed)\r\n- 👩 [Mehrunnisa](mailto:mehrunnisa533@gmail.com)\r\n\r\n## 🔑 License \u0026 Conduct\r\n\r\n- It is © [MIT Licensed](LICENSE)\r\n- [Code of Conduct](CODE_OF_CONDUCT.md)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustehmadsaeed%2Ftimetable-scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustehmadsaeed%2Ftimetable-scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustehmadsaeed%2Ftimetable-scheduler/lists"}