https://github.com/metakgp/chillzone
Find a place to chill during class hours in IIT KGP
https://github.com/metakgp/chillzone
academic classroom hacktoberfest
Last synced: 3 months ago
JSON representation
Find a place to chill during class hours in IIT KGP
- Host: GitHub
- URL: https://github.com/metakgp/chillzone
- Owner: metakgp
- License: gpl-3.0
- Created: 2018-02-17T13:26:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T23:27:50.000Z (over 1 year ago)
- Last Synced: 2025-01-07T23:37:10.163Z (over 1 year ago)
- Topics: academic, classroom, hacktoberfest
- Language: HTML
- Homepage: https://chill.metakgp.org
- Size: 6.69 MB
- Stars: 22
- Watchers: 12
- Forks: 27
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL v3][license-shield]][license-url]
[![Wiki][wiki-shield]][wiki-url]
Table of Contents
- [Local Installation](#local-installation)
- [Updation for a new semester](#updation-for-a-new-semester)
- [Meanings of the various files](#meanings-of-the-various-files)
- [Input Files](#input-files)
- [Output Files](#output-files)
- [Development Notes](#development-notes)
- [Maintainer(s)](#maintainers)
- [Contact](#contact)
- [Additional documentation](#additional-documentation)
## Local Installation
To run Chillzone front-end on your local system.
1. Make sure you have `pnpm` installed on your system. Installation instructions can be found [here](https://pnpm.io/installation).
2. Clone the repo and change directory.
```
git clone https://github.com/metakgp/chillzone
cd chillzone/frontend
```
3. Install modules and launch frontend.
```
pnpm install
pnpm run dev
```
## Updation for a new semester
1. Updating `.env` file
> **Note**: Use `.env.template` file as the base for `.env` file.
Update the `SESSION` and `SEMESTER` environment variables.
> **Note:** In case you are unable to scrape the new semester's timetable, then, these steps will help you find the problem:
>
> 1. Turn on `DEBUG` inside the `.env` file by setting it to `"1"`.
> 2. Reduce the size of the departments array to 2 so that you are not buried with output in the terminal.
2. Run `update_data.sh`.
## Meanings of the various files
### Input Files
- `problems.json`
JSON file that stores problems reported by users. Sometimes, the ERP might
show that course A is scheduled to be held in room B, but later, due to
(say) too many students, the course might be moved to a bigger room C. Then,
a few nodes can be added to the JSON file without touching other files and
the schedule can be regenerated.
### Output Files
- `schedule.json`
This is JSON file whose keys are the names of the rooms. Each value is a
matrix with 5 rows and 9 columns. Each element in the matrix is the subject
code of the class that will be held in that room during that one-hour slot.
This string can be empty to show that the room will remain empty.
- `empty_schedule.json`
This is a JSON file that stores a matrix with 5 rows and 9 columns. Each
element of the matrix is a list of strings containing the list of rooms that
are free during that one hour slot.
- `subjectDetails.json`
This JSON file is used to show the tooltip with the name of the course and
the name of the professors on top of the timetable entry in the chillzone
webpage. It is a JSON file where the keys are subject codes and the values are
strings with this structure: ` - `.
## Development Notes
This package utilizes [iitkgp-erp-login-go](https://github.com/metakgp/iitkgp-erp-login-go) package to handle ERP login functionality and fetch timetables.
## Maintainer(s)
- [Chirag Ghosh](https://github.com/chirag-ghosh)
- [Shikhar Soni](https://github.com/shikharish)
## Contact
## Additional documentation
- [License](/LICENSE)
- [Code of Conduct](/.github/CODE_OF_CONDUCT.md)
- [Security Policy](/.github/SECURITY.md)
- [Contribution Guidelines](/.github/CONTRIBUTING.md)
[contributors-shield]: https://img.shields.io/github/contributors/metakgp/chillzone.svg?style=for-the-badge
[contributors-url]: https://github.com/metakgp/chillzone/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/metakgp/chillzone.svg?style=for-the-badge
[forks-url]: https://github.com/metakgp/chillzone/network/members
[stars-shield]: https://img.shields.io/github/stars/metakgp/chillzone.svg?style=for-the-badge
[stars-url]: https://github.com/metakgp/chillzone/stargazers
[issues-shield]: https://img.shields.io/github/issues/metakgp/chillzone.svg?style=for-the-badge
[issues-url]: https://github.com/metakgp/chillzone/issues
[license-shield]: https://img.shields.io/github/license/metakgp/chillzone.svg?style=for-the-badge
[license-url]: https://github.com/metakgp/chillzone/blob/master/LICENSE
[wiki-shield]: https://custom-icon-badges.demolab.com/badge/metakgp_wiki-grey?logo=metakgp_logo&style=for-the-badge
[wiki-url]: https://wiki.metakgp.org