📚 Source code for the ProfStats UTD chrome extension, a quick and easy way to view UT Dallas professor ratings and grade distributions.
MIT License
ProfStats is a handy Chrome extension with 100+ users, merging professor ratings and grade distributions at the University of Texas at Dallas for simplified access to course information for students.
The front end ensures a streamlined interface with features like backend performance optimization, client-side validation for data accuracy, and CRXJS for Chrome extension hot module reloading during development.
GitHub Actions automates staging on the Chrome Web Store upon new Github version releases, utilizing the Chrome-Webstore-Upload-Action. While manual review submission is required, the uploading process is fully automated.
Utilizing the Golang Gin framework, the backend fetches ratings from the Rate My Professor GraphQL API and queries aggregated grade distribution from an SQLite database.
The database is dynamically generated by a Python script in db_setup
before the backend server is started, using only Python's standard library and the grade distributions in raw_data
.
[!NOTE] The grade distributions in
raw_data
are from the UTD Grades repository
Dockerized and deployed on the Azure Web App Service after running the Python scripts that generate and test the SQLite database, using GitHub Actions for CI/CD.
Make sure you have the following software installed on your machine:
Clone the repository:
git clone https://github.com/GiridharRNair/ProfStatsUTD
Navigate to the project directory:
cd ProfStatsUTD
Install dependencies:
npm run install-packages
This command installs the dependencies for the go backend and the react frontend
Start the server and extension concurrently:
npm run dev
This project uses the
concurrently
npm package to run the server and extension concurrently
Enable Developer Mode in Chrome:
chrome://extensions/
.Load the extension:
dist
folder.Please feel free to open an issue or submit a pull request if you have any suggestions or feedback.