{"id":25733765,"url":"https://github.com/kausar2nd/schedulumos","last_synced_at":"2026-05-05T19:33:33.964Z","repository":{"id":255585859,"uuid":"849806955","full_name":"kausar2nd/ScheduLumos","owner":"kausar2nd","description":"ScheduLumos is a web application designed to simulate and visualize various CPU scheduling algorithms. The application allows users to input parameters such as arrival time, burst time, and priority to understand how different algorithms schedule processes.","archived":false,"fork":false,"pushed_at":"2025-02-24T16:33:11.000Z","size":550,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T17:42:40.246Z","etag":null,"topics":["css3","flask","html5","js","py"],"latest_commit_sha":null,"homepage":"https://cpuscheduler.vercel.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/kausar2nd.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-08-30T09:34:21.000Z","updated_at":"2025-02-24T16:33:15.000Z","dependencies_parsed_at":"2025-02-24T17:42:47.262Z","dependency_job_id":"836a8d2e-8716-4dbf-bbda-bf8c6772d396","html_url":"https://github.com/kausar2nd/ScheduLumos","commit_stats":null,"previous_names":["kausaraahmed/schedulumos","kausar2nd/schedulumos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kausar2nd%2FScheduLumos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kausar2nd%2FScheduLumos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kausar2nd%2FScheduLumos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kausar2nd%2FScheduLumos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kausar2nd","download_url":"https://codeload.github.com/kausar2nd/ScheduLumos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240790292,"owners_count":19858010,"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":["css3","flask","html5","js","py"],"created_at":"2025-02-26T04:22:40.381Z","updated_at":"2026-05-05T19:33:33.957Z","avatar_url":"https://github.com/kausar2nd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ScheduLumos\n\nScheduLumos is a Flask-based CPU scheduling simulator that helps students and developers visualize and compare scheduling behavior for common algorithms.\n\n![ScheduLumos Screenshot](static/images/Screenshot.png)\n\n## What This Project Does\n\nYou can input process data from the browser and run scheduling calculations on the server. The app returns:\n\n- per-process metrics (waiting time, turnaround time, completion time)\n- average waiting and turnaround times\n\n## Implemented Algorithms\n\n- First Come First Served (FCFS)\n- Shortest Job First Non-Preemptive (SJF-NP)\n- Shortest Job First Preemptive (SJF-P)\n- Priority Scheduling\n- Round Robin (RR)\n\n## Tech Stack\n\n- Backend: Python, Flask\n- Frontend: HTML, CSS, Vanilla JavaScript\n- Deployment: Vercel\n\n## Input Rules and Validation\n\nCurrent validation rules enforced by backend and frontend:\n\n- Arrival time must be `\u003e= 0`\n- Burst time must be `\u003e 0`\n- Time quantum (Round Robin) must be `\u003e= 1` (defaults to `2` if omitted)\n- Number of arrival and burst values must match\n- For priority scheduling, arrival, burst, and priority lengths must match\n- Inputs are parsed as integers from space-separated values\n\nIf validation fails, the server returns an `error` string in the JSON response.\n\n## Project Structure\n\n```text\nScheduLumos-main/\n|-- app.py\n|-- requirements.txt\n|-- vercel.json\n|-- python/\n|   |-- fcfs.py\n|   |-- priority_scheduling.py\n|   |-- round_robin.py\n|   |-- run_algorithms.py\n|   |-- sjf_non_preemptive.py\n|   |-- sjf_preemptive.py\n|   `-- utils.py\n|-- static/\n|   |-- css/\n|   |   |-- algorithm_style.css\n|   |   `-- styles.css\n|   |-- images/\n|   `-- js/\n|       |-- algorithm_common.js\n|       |-- fcfs.js\n|       |-- priority_schedule.js\n|       |-- round_robin.js\n|       |-- sjf_non_preemptive.js\n|       `-- sjf_preemptive.js\n`-- templates/\n      |-- fcfs.html\n      |-- index.html\n      |-- priority_scheduling.html\n      |-- round_robin.html\n      |-- sjf_non_preemptive.html\n      `-- sjf_preemptive.html\n```\n\n## Run Locally\n\n### Prerequisites\n\n- Python 3.9+\n- pip\n\n### Steps\n\n1. Clone repository and enter project directory.\n\n```bash\ngit clone https://github.com/kausaraahmed/scheduLumos.git\ncd scheduLumos\n```\n\n2. Create and activate virtual environment.\n\nWindows (PowerShell):\n\n```powershell\npython -m venv .venv\n.\\.venv\\Scripts\\Activate.ps1\n```\n\nLinux/macOS:\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n3. Install dependencies.\n\n```bash\npip install -r requirements.txt\n```\n\n4. Start server.\n\n```bash\npython app.py\n```\n\n5. Open in browser:\n\n```text\nhttp://127.0.0.1:5000/\n```\n\n## Live Demo\n\n\u003chttps://schedulumos.vercel.app\u003e\n\n## Contributing\n\nContributions are welcome.\n\n1. Fork the repository.\n2. Create a feature branch.\n3. Commit your changes.\n4. Open a pull request.\n\n## License\n\nLicensed under the MIT License. See `LICENSE` for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkausar2nd%2Fschedulumos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkausar2nd%2Fschedulumos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkausar2nd%2Fschedulumos/lists"}