{"id":15697292,"url":"https://github.com/ghulamghousdev/scheduly","last_synced_at":"2025-05-08T23:48:22.606Z","repository":{"id":124979546,"uuid":"274291577","full_name":"ghulamghousdev/Scheduly","owner":"ghulamghousdev","description":"Activity Scheduling Tool","archived":false,"fork":false,"pushed_at":"2021-04-12T05:33:05.000Z","size":5374,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-08T23:48:12.072Z","etag":null,"topics":["express","mern-stack","mongodb","node","react","time-table","time-table-generator"],"latest_commit_sha":null,"homepage":"https://scheduly-edu.herokuapp.com/","language":"JavaScript","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/ghulamghousdev.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":"2020-06-23T02:40:22.000Z","updated_at":"2023-05-31T08:04:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"16064f2f-63fb-41de-817a-e0d9ff86b7a7","html_url":"https://github.com/ghulamghousdev/Scheduly","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FScheduly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FScheduly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FScheduly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FScheduly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ghulamghousdev","download_url":"https://codeload.github.com/ghulamghousdev/Scheduly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166477,"owners_count":21864467,"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":["express","mern-stack","mongodb","node","react","time-table","time-table-generator"],"created_at":"2024-10-03T19:15:33.113Z","updated_at":"2025-05-08T23:48:22.587Z","avatar_url":"https://github.com/ghulamghousdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scheduly\n\nAn automated Time-Table Generator.\n\n## Contributors\n\n- [Ghulam Ghous](https://github.com/ghulamghousdev)\n- [Ahmad Zaheer](https://github.com/ahmadzaheer-dev)\n\n## Table of Contents\n- [README File](https://github.com/ghulamghousdev/Scheduly/blob/master/README.md)\n- [Features](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/features-and-constraints/FeaturesAndConstraints.md)\n- [Pseudo Code](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/pseudo-code/Pseudo.md)\n- [Correctness Of Algorithm](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/correctness-of-algorithm/correctness-of-algorithm.md)\n- [Complexity Analysis](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/complexity-analysis/Complexity%20Analysis.md)\n- [User Manual](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/user-manual/UserManual.md)\n- [Project Report](https://github.com/ghulamghousdev/Scheduly/blob/master/Documentation/project-report/README.md)\n\n## Concept\n\nThe goal of the software application is to provide a possible timetable solution with the\nminimum number of clashes between slots. It relieves the user of much of the hard work\nrequired for generating timetable manually, leaving him with more time to apply the\nskills and judgment where they are needed in order to produce a timetable of the highest\nquality.\n\n## Scope of this Project\n\nThe software which we are designing can be used by any faculty to generate a timetable in\nfuture. This algorithm will satisfy all the hard constraints which are mentioned below:\n\n- A Teacher should have only one class at a time.\n- A student should have only one class at a Time.\n- There should be no free period between the lectures for a class of students.\n- Each class has a fixed number of lectures in a day.\n\n## Algorithmic Approach Used\n\nThe algorithmic approach which we are going to use in this project is **Heuristic Approach**.\nAll the hard constraints are dealt with by using **Constraint-based Programming**.\n\n## Technologies Used\n\n- SASS\n- React\n- Redux\n- MongoDB\n- Node.js\n- Express.js\n\n## Technologies and Tools used in Project with the respective versions\n\n### IDE\n\n| Sr. No. |     Technology     | Version |\n| :------ | :----------------: | :-----: |\n| 1.      | Visual Studio Code |  1.47   |\n\n### Database and GUI for Database\n\n| Sr. No. | Technology | Version |\n| :------ | :--------: | :-----: |\n| 1.      |  MongoDB   |   3.6   |\n| 2.      |  Robo 3T   |   1.3   |\n\n### Programming Language and NPM Packages\n\n| Sr. No. |  Technology  | Version |\n| :------ | :----------: | :-----: |\n| 1.      |   React.js   | 16.13.1 |\n| 2.      |   Node.js    | 12.6.0  |\n| 3.      |  Node-SAAS   | 4.14.1  |\n| 4.      |   Nodemon    |  2.0.4  |\n| 5.      |  Express.js  |  4.17   |\n| 6.      |   Mongoose   | 5.9.27  |\n| 7.      |   bcryptjs   |  2.4.3  |\n| 8.      | jsonwebtoken |  8.5.1  |\n\n## Prerequisits\n\nFollowing are the prerequisits to run this project locally on your machine. If you don't have these\nprerequisits installed on your computer, run the following commands on your machine.\n\n- **Git**\n  You can install it from this [link.](https://git-scm.com/download/win)\n\n- **Visual Studio Code**\n  You can install it from the following source by clicking on this [link.](https://code.visualstudio.com/download)\n\n- **MongoDB**\n  There are two ways to install mongodb locally on your machine.\n\n  1. By downloading the .msi file, you simply have to run it on your machine and install it\n     on the following location on your\n\n  ```\n  path = c/Users/{You user name}/.\n  ```\n\n  [Click here to download.](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.0-signed.msi)\n\n  2. By downloading the .zip file, you have to unzip the file in the location provided by the path\n\n  ```\n  path = /cUsers/{You user name}/.\n  ```\n\n  And create a mongodb_data folder in the same directory. [Click here to download it](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.0.zip)\n\n- **Robo 3T:**\n  It is a GUI for local mongodb database. You can download the community version and install it\n  by [clicking here.](https://robomongo.org/download)\n\n- **Node:**\n  To download and install the node on your machine [click here.](https://nodejs.org/en/download/)\n\n- **Node Package Manager:**\n  You can install node package manager by running the following command on power shell.\n  ```\n  npm install npm@latest -g\n  ```\n\n## Guidelines for Project Configuration\n\n**Step 1. Clone the repo:**\nOpen Git in the directory where you want to download it and run the following command.\n\n```\ngit clone https://github.com/ghulamghousdev/CS311S20PID32.git\n```\n\n**Step 2. Open in Code Editor:**\nTo open folder in Visual Studio Code, right click on the folder and click on open with\nVisual Studio Code.\n\n**Step 3. Backend Dev Dependencies:**\nTo install all the development dependencies for backend, execute the following commands\nthe terminal.\n\n```\ncd backend\nnpm install\n```\n\n**Step 5. Run Database Server:**\nYou have to set the database path in your package.json file. You need to replace the\nmongod script in scripts in package.json with the following line.\n\n```\n\"mongod\": \"c:/Users/{account username}/mongodb/bin/mongod.exe --dbpath c:/Users/{account username}/mongodb-data\"\n\nFor example if your account username is Ghous then the script will be like:\n\"mongod\": \"c:/Users/Ghous/mongodb/bin/mongod.exe --dbpath c:/Users/Ghous/mongodb-data\"\n```\n\nAfter doing this you need to open a new terminal and execute the following command.\n\n```\nnpm run mongod\n```\n\n**Step 5. Create Database:**\nOpen Robo 3T and create a connection with database. Set the name of connection to scheduly.\n\n**Step 6. Install Frontend dev Dependencies:**\nOpen new terminal and execute the following command on terminal.\n\n```\ncd frontend\nnpm install\n```\n\n**Step 7. Run Backend Server:**\nTo run Backend Server, execute the following commands in order.\n\n```\ncd backend\nnpm start\n```\n\n**Step 8. Run Frontend Server:**\nTo run Frontend Server, execute the following commands in order.\n\n```\ncd frontend\nnpm start\n```\n\n**Step 9. Sign in:**\nOnce the servers are running, you first need to sign up as the database is empty at the start of the project.\n\n**Wishing you best of luck for the Testing phase Cheers :)**\n\n## Found an Issue or any suggestions\n\nCreate issues [here](https://github.com/ghulamghousdev/CS311S20PID32/issues/new).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghulamghousdev%2Fscheduly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghulamghousdev%2Fscheduly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghulamghousdev%2Fscheduly/lists"}