Inspiration
It is often very difficult to enrol in courses with limited lecture sections. In cases like this, students need to constantly keep an eye on the University of Waterloo course offerings website in case a spot opens up in the course. On top of this, they must also rush against time to enrol into the course before other students can take up that spot.
Having experienced this struggle, we decided to develop a program to notify users when a spot in their desired courses opens up, so that they can be the first to enrol in it.
What it does
NotifyMe uses web scraping to find certain information about University of Waterloo courses. This includes which courses are being offered that semester, along with the professors teaching it. The tool makes course selection easier for students, as they no longer need to search the university website each time they want information regarding their courses.
How we built it
NotifyMe was built entirely using Python. We use the library, Beautiful Soup, to extract data from the University of Waterloo course website and integrate it into our app. The tool creates a parse tree for parsed pages, which can then be used to obtain data from HTML.
Challenges we ran into
A challenge we ran into was when we had difficulties connecting the web scraped data to the notifier portion of the program. We collected the web scraped data in a dictionary-like parse tree; however, we could not determine how best to use that dictionary to send notifications in real time. Fortunately, we realized we could treat the web scraped data as an object, and used Object Oriented Programming (OOP) principles to simplify the connection between the files.
Accomplishments that we're proud of
We are proud of designing and creating an app which is extremely beneficial to the students of the University of Waterloo. Especially during course selection period, students can benefit from the technology we created. We are also proud of learning a new technology, Figma, and creating visuals with it during a time constraint. Although none of us had thorough experience with the tool, we were able to use it both efficiently and effectively.
What we learned
This was the first time we approached web scraping. Therefore, web scraping was a major proportion of the skills we learnt during this hackathon. Furthermore, we also learnt how to use python as an Object Oriented language, which was something we had also never done before. Lastly, we also learnt how to use Figma as a tool to design prototypes for our program, which was also something that we had never done before.
What's next for notify me
We hope to expand our application so that it features information regarding courses from other universities in the surrounding area. This would widen our target audience to other students. We also hope to integrate more features into our app, such as a countdown until course selection begins.
Built With
- beautiful-soup
- figma
- github
- python
- sql
- vs-code
- web-scraping

Log in or sign up for Devpost to join the conversation.