metakgp / gyft

Get Your Freaking Timetable
https://gyft.metakgp.org
MIT License
56 stars 60 forks source link
erp google-calendar gyft hacktoberfest ics timetable
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![Wiki][wiki-shield]][wiki-url]


GYFT

Get Your Freaking Timetable
Report Bug · Request Feature

Table of Contents - [About The Project](#about-the-project) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Usage](#usage) - [Development Notes](#development-notes) - [Updates To Be Made Each Sem](#updates-to-be-made-each-sem) - [Contributing](#contributing) - [Maintainer(s)](#maintainers)

About The Project

Gets your timetable from ERP and adds it to your Google Calendar or gives you an ICS file which you can add in any common calendar application.

Note All updates to this repo should reflect, with appropriate refactorisation, in gyft-serve

(back to top)

Getting Started

To set up a local instance of the application, follow the steps below.

Prerequisites

The following prerequisites are required to be installed for the project to function properly:

(back to top)

Installation

Now that the environment has been set up and configured to properly compile and run the project, the next step is to install and configure the project locally on your system.

  1. Clone the repository
    git clone --depth 1 https://github.com/metakgp/gyft
  2. Change the current directory to the project directory
    cd gyft
  3. Install the dependencies
    pip install -r requirements.txt

(back to top)

Usage

  1. Run the script
    python3 gyft.py
  2. Enter your roll number, password, security answer, and OTP (if required) when prompted
  3. Now you can choose between 2 options, which will be prompted to you:

    • Add to Google Calendar:

      • For this, you have to get your credentials.json and save it as client_secret.json to the current directory by following the Step 1 from here
      • Also note that adding to Google Calendar requires an Internet connection
    • Generate ICS file:

      • This will generate an ICS file which you can import into any calendar application.
      • For importing to Google Calendar, follow the instructions given here.


(back to top)

Development Notes

This project utilizes the iitkgp-erp-login package to handle ERP login functionality.

Updates To Be Made Each Sem

The following procedure is to be followed each new semester by the maintainer for updating GYFT to work properly.

(back to top)

Contributing

Please read CONTRIBUTING.md guide to know more.

Maintainer(s)