- Notifications
You must be signed in to change notification settings - Fork0
Find a place to chill during class hours in IIT KGP
License
lakshz/chillzone
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Table of Contents
To run Chillzone front-end on your local system
Make sure you have
pnpm
installed on your system. Installation instructions can be foundhere.Clone the repo and change directory
git clone https://github.com/metakgp/chillzonecd chillzone/frontend
Install modules and launch frontend
pnpm installpnpm start
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-scraperpip install -r requirements.txt
- Login to the ERP
- Go to Academic -> Timetable -> Subject List with Timetable Slots
- Open the browser console. Switch to the Network tab [Windows:
ctrl + shift + j
- macOS:cmd + shift + c
] - Choose any department and wait for the time table to load
- After the time table is loaded, check the Network tab for the
POST timetable_track.js ...
request. Select this request; switch to the Cookies tab and copy theJSESSIONID
cookie value.
Note: Use
.env.template
file as the base for.env
file
- Update the
JSESSIONID
environment variable with the copied value. - Update the
SESSION
andSEMESTER
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.
- Run
update_data.sh
problems.json
JSON file that stores problems reported by users. Sometimes, the ERP mightshow 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 andthe schedule can be regenerated.
first-year.csv
The first year timetable is not available by default on ERP, so we need toadd it manually using the central timetable PDF. This CSV file will be takeninto consideration when the schedule is constructed. Refer to the templatefor details.
schedule.json
This is JSON file whose keys are the names of the rooms. Each value is amatrix with 5 rows and 9 columns. Each element in the matrix is the subjectcode 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. Eachelement of the matrix is a list of strings containing the list of rooms thatare free during that one hour slot.
subjectDetails.json
This JSON file is used to show the tooltip with the name of the course andthe name of the professors on top of the timetable entry in the chillzonewebpage. It is a JSON file where the keys are subject codes and the values arestrings with this structure:
<SUBJECT NAME> - <PROFESSOR NAMES>
.