Inspiration
As college students, we have always struggled to find an efficient way to track the constant flow of assignments, quizzes, midterms, etc. We decided to make the solution ourselves! The idea came from the fact that professors use an increasingly large number of platforms such as myCourses, Crowdmark, Ed, slack, WebWork, etc. The idea was to create a centralized platform that could integrate all of these such that we only need to consult one platform in order to be fully aware of all of our assignments and exams.
What it does
Upon launch, Course Hub automatically retrieves and interprets new course information on McGill's websites (MyCourses and Minerva). This information is then added to the Course Hub calendar, which is fully editable. Our app also fetches and displays the student's schedule.
How we built it
Course-Hub was implemented in three steps:
- We used web scraping to retrieve the data from the sites and Natural Language Processing to interpret the assignments and their deadlines.
- cockroachDB, postgreSQL using Google Cloud services is how we stored the student's data.
- We built the UI using PyQt
## What we learned and challenges we faced
We learned that web scraping could be a very useful way to gather information efficiently in order to integrate it in a different software. Unfortunately, it is far from being the optimal method and has a lot of challenges since it relies heavily on the specific formatting. One of the most important thing we learned during this project is the complex integration between different platforms needed to make software. The interaction between different programming languages as well as the interaction between the UI, the back-end and the cloud service can be quite challenging to navigate.
What's next for Course Hub
Obviously deploy it for mobile! And add the functionality for other schools.
Log in or sign up for Devpost to join the conversation.