Me and my fellow teammates found that, as we begin our college careers, we find ourselves out of breath, from all the unnecessary curve-balls we have faced. Most notably, once we'd gotten deep into the semester, we often found that we'd missed some important dates which had been mentioned right back in the syllabus. As such, we wanted to make a tool which helps alleviate some of the confusion and makes the process particularly efficient.
What it does
Our program, creates a desktop app, which prompts the user for a syllabus file, which it then converts into text(input adaptation for pdfs, docs, and txt, as well as OCR for image types using Google Cloud Vision API), and is parsed through to get important dates, and then add these dates to the user's Google Calendar.
How we built it
We utilized a series of different tools, but mostly dealing with python and python APIs. We created converters for each file type and then fed the cleaned string through a parser, which would get important dates and descriptions from the text, and then pass this information to the Calendar API program, that gets user permission using Oauth2.0 and then publishes the events to their calendar.
Challenges we ran into
Issues with the DateParser library natural language processing is harder than we thought! Issues with pyinstaller Lack of time to finish the project lack of organization
Accomplishments that we're proud of
Since this is all of our first times at a hackathon, We are proud just to have a demo-able project. We all learned a lot about how to work effectively in teams on larger projects and gained familiarity with useful technologies such as GoogleVision, Electron and Oauth.
What we learned
We have learned how to plan and organize large projects using object-oriented design and top-down planning. We also leanred how to use several frameworks such as Electron, Google Vision and the Google Calendar API.
What's next for SyllabusReader(Syber)
We specifically separated the back-end from the front-end in order for future expansion. Our original vision included usage of Microsoft's Azure to host the backend, and having the ability to leverage a thin-client type program to make it super easy and simple to add syllabuses from any device. It might even be possible to leverage the Google VIsion API further by having an app that lets you take pictures of any sort of test date that a professor might display on a slide and have that added to your Google Calendar. Likewise, this idea could be generalized to even further, like an automatic accounting and expense compiler by simply taking pictures of all your receipts and the like. Of course, some of the things that we had also originally envisioned but never really got around to is Natural Language Processing, which would increase the accuracy of the calendar read much higher.