This project is under the "Revamping the Old" track. This project is also a part of the Best College Life Hack Challenge


What it does## Inspiration

We discussed our course schedules for the next semester as spring registration had just started. Every semester, we face the task of having to input all of our assignment dates into our calendars. Sometimes, this takes a long time, as we have 4-5 classes, and each has several assignments to input.

What it does

Our website takes in a PDF file of the user's syllabus and converts it to a CSV file sent to their email which can be directly imported into Google Calendar.

How we built it

Through Squarespace, our team was able to create an interactive website that allowed users to import a syllabus. By customizing our own PDF upload button, we were able to accept a syllabus through Dropbox on the website. Using Zapier, we were then able to direct the syllabus to Google Drive.

Once the pdf file makes it to the Google Drive folder, using python, we take the pdf and convert it to a CSV. This file is then processed through pandas where it removes all excess data, leaving a cleaned CSV file in a separate folder in Google Drive. The CSV file in this folder is then sent to Dropbox with Zapier, which will then be emailed back to the user.

Once the user downloads the CSV, it can then be imported to their personal calendar via Settings once inside Google Calendar.

Challenges we ran into

  • Converting from PDF to CSV in python (especially since each syllabus is formatted differently)
  • Accessing Google Drive from python to take the pdf from a folder and save the cleaned file to a different folder -Automating the process in which a syllabus is cleaned and sent back to the user -Correctly sending back a cleaned CSV to the correct user that requested a cleaned syllabus

Accomplishments that we're proud of

  • We solved most of the problems, and the conversion and cleaning works perfectly. It also gets sent back to the users.

What we learned

A lot of different python packages were needed to make this project a success - for example, we used pandas, tabula, os, DateTime, and pdftable_api to process the pdf and CSV files. We also used Google API to access the contents within Google Drive.

What's next for Syllabus to Google Calendar Processor

We want to optimize it so that syllabi of different formats can be easily processed. We also want to speed up the process and make the code embedded into our website so that the user only has to upload the file.


Share this project: