Gopher Grades V2 Calendar Extension

A course schedule to calendar feature addition to the Gopher Grades V2 extension.

Samyok Nepal

Project Advisor

William Walker

Lead Developer

Ansh Patel

Developer

Brooklyn Cooper

Developer

Blake Hokanson

Developer

Overview

Every semester, students at the University of Minnesota - Twin Cities add their courses to their calendar. For many, this can be a tedious process that takes a significant amount of time especially if their courses are not certain. In order to address this issue we have created a new feature for the Gopher Grades V2 extension that allows for students to directly import their courses from MyU to their Google Calendar or download an ICS file.

Development

Throughout the development process the team focused heavily on reverse engineering many of the APIs that the University of Minnesota uses to help students schedule their courses. Without access to proper documentation the team poured over network requests and responses to determine how to best implement the feature. Due to the less modern standard of the MyU API, the team thoroughly wrote several parsers and scrapers to ensure that the data was properly read. This was often challenging due to the lack of consistency and variety of class structures such as online, in-person, and hybrid, asyncronous, multiple locations, etc. Additionally, the team had to identify efficient ways to store the data that was being read from the MyU api and then later retrieving it to create the calendar events. Other portions of the team worked on the UI and UX of the extension to provide a high degree of customizability for the users. This included the ability to change the colors of the events, convert information into proper ICS files and data interprable by the Google Calendar API. Understanding this conversion process and ensuring that there were no issues during translation required significant background research and familiarity with the ICS standard.

Gopher Grades V2 Calendar Extension Usage

Shown here is the ability for users to add their courses to their Google Calendar.

Outcome

This addition to the extension was approved through Google's review process and their senstitive API scopes approved as well. It's currently expected to be released in version 2.0.0 of the extension and will be available to all users. Overall, the project was widely successful and well recieved by the members of Social Coding.