Giter Club home page Giter Club logo

chillzone's Introduction

Contributors Forks Stargazers Issues GPL v3 Wiki


image

Chillzone

Will find you a chillzone inside IIT KGP at any time.
Website ยท Report Bug

Table of Contents

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.

  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 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.

  1. Download first year timetable from ERP and place it in the first-year-scraper/ directory.

  2. 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:

  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.

Final steps

  1. 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

๐Ÿ“ซ Metakgp - Metakgp's slack invite Metakgp's email metakgp's Facebook metakgp's LinkedIn metakgp's Twitter metakgp's Instagram

(Back to top)

Additional documentation

(Back to top)

chillzone's People

Contributors

icyflame avatar shikharish avatar bikram-ghuku avatar chirag-ghosh avatar thealphadollar avatar kaustubhrakhade avatar proffapt avatar harshkhandeparkar avatar siddharth-nema avatar themousepotato avatar hahkarthick avatar devadeut avatar lakshz avatar nepalivai avatar rajivharlalka avatar rohan-b-84 avatar sriyash421 avatar vaidehi2000 avatar yoganshsharma avatar iakshat avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.