Link For All Code As Well As Demo: https://www.youtube.com/watch?v=89nht-EIxeg

Inspiration

I was inspired by the countless students that complain on forums such as Reddit yearly about the terrible experience that they encounter with modern university scheduling systems and also my personal experience with my schedules.

What it does

It is a web scheduling app that is able to be used with any university and offers students a easier time when doing classes with drag and drop features as well as giving more information to the student based on the class such as the professor's rate my professor rating as well as the average weighted gpa of the class based on past year's information. In conclusion it offers a far easier to use and better experience for students when they are making their class schedules.

How we built it

I used python in the backend to web-scrape information I needed based on user inputs from the frontend drop down menus. I then used this logic and created an algorithm that is able to detect whether the class conflicts with any other previously selected class and then return available classes back to the student. I used flask to link the backend and frontend which I created with React and a previously prebuilt software called Calendarly.io which is a calendar that is similar to Google Calendars and saved me some time.

Challenges we ran into

It was very difficult to resize and restructure the frontend based on what tabs the users closed but also was difficult getting the classes did not run into conflicts. There was also a runtime problem in the backend as it is quite unoptimized and as such has not the best runtime.

Accomplishments that we're proud of

I am proud of the fact that I have working code that is able to fulfill my desires although to a very basic version. I am very proud that I was able to successfully incorporate all my ideas such as web scraping RateMyProfessor and average GPA as well as my biggest accomplishment where the UI is far more intuitive to use like the feature of drag and drop and class filters.

What we learned

I learned how to properly develop a backend and frontend linkage as well as putting more towards the frontend than simple buttons. This experience has turned my view on what the frontend can do. I also learned about the importance of code optimization since before I rarely cared about how my code ran rather than just it ran. Thanks to this runtime problem I was able to fully grasp the idea of optimization.

What's next for Automatic Scheduling Web Application

I wish to make the code more optimized as well as making the UI more friendly looking. I also hope to make it possible to roll it out with real school scheduling systems which would then be able to be used with any university and get real time feedback. Lastly, in the future I hope to incorporate a Reddit like system where students can leave and have discussions which will be able to be viewed by future students as a way for students to get a better idea and have a centralized place of what the class is like.

Share this project:

Updates