Git Product home page Git Product logo

uozone-calendar's Introduction

uozoneCalendar

This project uses Google's Puppeteer headless chrome browser to extract the information about the course schedule on University of Ottawa uoZone's website. Everything is done locally on your machine and the University of Ottawa's uoZone website. If you want to see what is happening in the background, you only need to remove the headless feature from the browser by changing the launch properties of the browser in the method called browserSetup() from

browser = await puppeteer.launch({ headless: true });

to

browser = await puppeteer.launch({ headless: false });

Initial setup

You need node.js installed on your computer and you need to clone this repository

git clone https://github.com/BenJeau/uozoneCalendar

Then install the node.js dependencies before being able to run the node.js code

cd uozoneCalendar
npm install

Once its done downloading/installing, run the code by typing

node .

The code will prompt you to enter your uoZone's credentials. Once the code is finished, the data will be located at the root of the folder in the file named data.json. The data's JSON schema file in the file named jsonSchema.json and you can visualise the file with docson on the webpage here.

Steps the program takes

  1. Logs in to uoZone's website
  2. Goes to a link, to get access to that portion of the web application
  3. Then it goes to inner frame of the last webpage to be able to easily control the DOM of the webpage and starts the extraction process by injecting some javascript code in the webpage to manipulate the DOM

Future features

  • Google Calendar integration by putting the data from the course schedule in your Google Calendar account and using Google's Calendar API

Note: not affiliate with the University of Ottawa

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.