Skip to content

Browser extension for UW Madison students that pulls Rate My Professors and Madgrades info into Course Search & Enroll

Notifications You must be signed in to change notification settings

JackBlake-zkq/cse-plus

Repository files navigation

Course Search & Enroll +

Browser extension for UW Madison students that pulls Rate My Professors and Madgrades info into Course Search & Enroll

Links to supported Extension Stores

     

Implementation

The chrome extension was built with Plasmo. A content script listens for changes to the DOM with a mutation observer, and sends messages to a service worker using Plasmo's Messaging API. The service worker makes http requests to the Madgrades API directly and the Rate My Professors GraphQL API using this wrapper. The service worker sends data back to the content script, which modifies the DOM accodingly.

Pros

  • Free
  • Fresh Data
  • Simple

Cons

  • API Rate Limits
    • If too many users are active at once, could run into these
    • Undocumented, so don't know how many users can be handled
  • Requires exposing readonly API key, opens up trivial attack on user experience
  • Slow - making API calls as needed means latency each time a users click on a course

See this issue with a proposed overhaul, which would eliminate these Cons while keeping this project having zero operating expenses. It would sacrafice some data freshness, though.

About

Browser extension for UW Madison students that pulls Rate My Professors and Madgrades info into Course Search & Enroll

Resources

Stars

Watchers

Forks