Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justehmadsaeed/timetable-scheduler
β² An Activity Scheduling Project of Algorithms Analysis to schedule the timetable for Educational Institutes.
https://github.com/justehmadsaeed/timetable-scheduler
algorithm-challenges algorithms algorithms-and-data-structures algorithms-implemented hacktoberfest time-schedule timetable-generator
Last synced: 3 days ago
JSON representation
β² An Activity Scheduling Project of Algorithms Analysis to schedule the timetable for Educational Institutes.
- Host: GitHub
- URL: https://github.com/justehmadsaeed/timetable-scheduler
- Owner: justEhmadSaeed
- License: mit
- Created: 2020-06-23T16:52:20.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-02-03T15:25:22.000Z (almost 2 years ago)
- Last Synced: 2023-03-10T02:19:58.453Z (over 1 year ago)
- Topics: algorithm-challenges, algorithms, algorithms-and-data-structures, algorithms-implemented, hacktoberfest, time-schedule, timetable-generator
- Language: JavaScript
- Homepage: https://activity-scheduling.herokuapp.com/
- Size: 8.73 MB
- Stars: 27
- Watchers: 1
- Forks: 8
- Open Issues: 11
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Timetable Scheduler
## π― Plan of Action
The project deals with specific constraints:
- There should be no more than one class of teachers at the same time.
- There should be only one teacher assigned to each class during a lecture.
- A teacher cannot teach more than one subject to a class.
- Each subject can be assigned to a class at most one time.
- Credit hours cannot exceed contact hours.
- There can be only one lecture of a teacher/ subject in a class per day.
- The lecture arrangement feature is available to let users decide how multiple lectures of a subject can appear in the timetable.
- The user can define maximum lectures per day and the working days per week.
## π Installation Guidelines
### Prerequisite
Make sure you have the following tools, installed on your system.
- [git](https://git-scm.com/downloads)
- [node/ npm](https://nodejs.org/en/download/)### Fork/ Clone the repository:
Click on the fork button in the top right corner or just [click this](https://github.com/justEhmadSaeed/timetable-scheduler/fork).
Copy the URL from that green `code` button to clone the project.
Open a terminal in your desired directory and run the following command with `REPO_URL` replaced by the link you just copied:```
git clone REPO_URL
```### Set Project Configurations:
- Make an account on firebase and fill up the .env variables on the frontend.
- Also, download serviceAccountKey.json from firebase project and add it in the `backend/constants` directory.### Open Two Terminals:
- 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.
- 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.
```
cd backend
```### Install the required npm Packages/ dependencies:
To install the dependencies of both frontend and backend, run the following command in both terminals:
```bash
# npm
npm install
# yarn
yarn
```Make sure you run the above-mentioned command for both terminals without any errors.
### Run the project:
Now assuming that your system has all the dependencies required to run the project, it is now set to run over your system.
Now for the final step, run the following command in both terminals to start the project:
```bash
# npm
npm start
# yarn
yarn start
```The link for the application will appear in the frontend terminal.
For the next time, you have to follow steps 2 & 4 only.
## π¨π»βπ» Contributing
Make sure you read the [contributing guidelines](contributing.md) before opening a PR.
## π§Contact Us
In case of any query regarding the project installation, feel free to contact:
- π§ [Ehmad Saeed](https://twitter.com/justEhmadSaeed)
- π© [Mehrunnisa](mailto:[email protected])## π License & Conduct
- It is Β© [MIT Licensed](LICENSE)
- [Code of Conduct](CODE_OF_CONDUCT.md)