Every college student has experienced the hassle of planning the perfect course schedule for the year, going back and forth between sites to read reviews of classes and professors while making sure everything fits into their schedule as they wonder why can't there be an easier way to do all of this? That's where webReg+ comes in.

What it does

WebReg+ was designed with students in mind to make it easier for them to plan out their courses with ease. It creates a tentative schedule that relies on a database built by a web scraping script that searches through various course listing sites for a list of courses, professors that teach them, and reviews of said courses and professors to choose the best classes per quarter. It also takes account into the courses that the student has already taken in order to account for prerequisites and adjusts the schedule accordingly.

How we built it

This web scraping script was built using Python while the website was developed in Javascript and HTML, with Vue.js as the framework. The back end was enabled by Ruby on Rails, with the script as its primary data supplier.

Challenges we ran into

We had difficulties with creating the scraping script as we had to account for the various layouts of different sites to collect data from. We also had further difficulties implementing the logic to creating the schedule by inferring from the data.

Accomplishments that we're proud of

Creating a functional application that was able to scrape sites for data and inferred said data to create a schedule that accounted for numerous factors including scheduling conflicts and reviews.

What we learned

We learned how to scrape multiple sites for data, how to set up a web page, and how to implement the logic in order to create and optimize the schedule.

What's next for webReg+

We plan to account for other majors and improving the flexibility of the application to make it even easier for users to use. In addition, we plan to integrate more features and resources that would help students learn more about the classes they plan take.

Share this project: