[2020] Sunny Guan
This project is to provide a consolidated view for UTD course search. It combines UTD course catalog (Coursebook), UTDGrades data, and RateMyProfessor ratings on the fly and return the search result.
The production deployment is on Heroku platform. Production URL: https://utdrmp.herokuapp.com/
Features shown (in order):
- Course search
- Sort by rating/gpa/overall
- Sidebar RMP/GPA data
- Popup RMP/GPA data
- Add to schedule and sidebar calendar
- Conflict check
- Remove conflicts
Additional (smaller enhancements) features (such as the two other filters) are not shown in the demo but works as intended.
If you want to contribute on this project, you might fork this repo and send in pull requests. I will review the pull requests and merge them.
The following project setup instruction is using Eclipse IDE as example.
Step #1 - Import the maven project.
Git clone the repo. Git pull the latest changes. In the Eclipse IDE, choose to import existing maven project to import the project.
Step #2 - Run and test the project.
In Eclipse Project Explorer, right click the project name -> select "Run As" -> "Maven Build...".
In the goals, enter spring-boot:run
then click Run button.
This project is a built on top of several open source libraries. That includes spring-boot,
https://spring.io/projects/spring-boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration.
https://www.w3schools.com/html/html5_serversentevents.asp
A server-sent event (SSE) is when a web page automatically gets updates from a server. This was also possible before, but the web page would have to ask if any updates were available. With server-sent events, the updates come automatically.
Currently using Python to host the API backend for retrieving course information. Originally designed to dynamically retrieve course information through Java back-end but a Python backend hosted on a different Heroku app enables more flexibility, especially with the Angular version.
Free for personal or research use; for commercial use please contact me.