chillzone
chillzone copied to clipboard
Find a place to chill during class hours in IIT KGP
Table of Contents
- Local Installation
-
Updation for a new semester
- For First Year Timetable
-
For Second Year and above Timetable
-
Updating
.env
file
-
Updating
- Final steps
-
Meanings of the various files
- Input Files
- Output Files
- Development Notes
- Maintainer(s)
- Contact
- Additional documentation
Local Installation
To run Chillzone front-end on your local system.
-
Make sure you have
pnpm
installed on your system. Installation instructions can be found here. -
Clone the repo and change directory.
git clone https://github.com/metakgp/chillzone cd chillzone/frontend
-
Install modules and launch frontend.
pnpm install pnpm start
(Back to top)
Updation for a new semester
For First Year Timetable
Note: First year timetable needs to be updated at the start of a new session only.
-
Download first year timetable from ERP and place it in the
first-year-scraper/
directory. -
Install dependencies.
cd first-year-scraper pip install -r requirements.txt
For Second Year and above Timetable
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:
- Turn on
DEBUG
inside the.env
file by setting it to"1"
.- Reduce the size of the departments array to 2 so that you are not buried with output in the terminal.
Final steps
- Run
update_data.sh
.
(Back to top)
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.
-
first-year.csv
The first year timetable is not available by default on ERP, so we need to add it manually using the central timetable PDF. This CSV file will be taken into consideration when the schedule is constructed. Refer to the template for details.
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:
<SUBJECT NAME> - <PROFESSOR NAMES>
.
(Back to top)
Development Notes
This package utilizes iitkgp-erp-login-go package to handle ERP login functionality and fetch timetables.
(back to top)
Maintainer(s)
(Back to top)
Contact
(Back to top)
Additional documentation
- License
- Code of Conduct
- Security Policy
- Contribution Guidelines
(Back to top)