Code Monkey home page Code Monkey logo

ucsd-schedule-visualizer's Introduction

UCSD-Schedule-Visualizer

Extension that creates a timetable of your WebReg classes and shows you where the class you are hovering over would fit in your schedule. This uses timetable.js. It also allows you to quickly generate a google maps route of your classes.
The code is pretty jank, but if you want to fix that make a PR :)

Screen Shot 2022-12-17 at 5 36 36 PM

Chrome Store

If you use Google chrome, Opera, Brave, Microsoft edge, or most other chromium based browsers you are likely able to just install the extension from google's web store: https://chrome.google.com/webstore/detail/ucsd-schedule-visualizer/jkaheldanccinoefddienccoblmcmhgn/related?hl=en&authuser=0

How to install without Chrome Store

How to install manually:

  1. Download this repository.
  2. Open extensions page in your browser.
  3. Enable developer mode.
  4. Press "Load unpacked extension" and then select the folder you downloaded from this page.

The steps may vary depending on the browser used. You can always look up "How to install unpacked extension in [Your browser name]?" and you are likely to find a detailed explanation.

Optional Donation

https://www.buymeacoffee.com/17victork Donate a cup of coffee if you liked the extension.

ucsd-schedule-visualizer's People

Contributors

kungharrison avatar wojtektb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ucsd-schedule-visualizer's Issues

Lecture Time is Bugging Out

image
Not sure if this is just an issue on my end but when previewing a class the discussion times are showing, but not the lecture times which would be more important to show, preferably showing both. The lecture times in the image above are not showing as the time slots on the very right are just the temp ones created.

Migrating class time look up to use webreg api

Currently we get hovered class' info by looking at the table row element and reading its innerHTML which is not great because it is not consistent and it makes it tough to figure out which rows belong together since in HTML they all look pretty much identical. A solution to this would be to only get the basic section info and somehow correlate it with the info we get from the WebReg API.

I was not able to find any documentation for it since it is probably not meant to be used by anything other than the website itself, but I think we should be just able to make fetch requests similar to what the website is sending whenever you search for particular classes:
image
image

The response payload contains begin and end times, and other info we might want to display.

Still need to think about how the correlation between a particular section and the api response payload should go. Ideas welcomed.

Grouping class html table rows to show them together

So currently only the hovered row shows, but would make more sense to show both lecture and discussion sections for example.

After taking another look it looks like we can look at 'aria-describedby="search-div-b-table_SECTION_NUMBER"' grid cells in the table to group the class items together.

Add "Build Schedule" function

I think it would be fun to make a "build schedule" function for the extension.

The idea is that you put in which classes you want to take this semester, and then the code gets all of the class periods for you and creates possible class schedules for you.

I've had this function in a city college that I have attended, and I imagine that this should not be too hard to do since you can fetch class data directly through the api.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.