Project Info
This project did not submit a demo video on Devpost.
Inspiration
As current UCSC students who always struggle when finding classes on enrollment day with struggling with finding the professors ratings and their background. We wanted to make an extension that allows students to easily get a quick summary of the professor and his teaching methods.
What it does
The extension allows students to easily look at UCSC instructors name, department, school name, average rating, difficulty rating, total ratings, percentage of people who would take a class with the teacher again. The students would have to be in the school's catalog website.
How we built it
In the development of the "Enrollment Helper" Chrome extension, we integrated a front-end and back-end to enhance the academic experience of UCSC students. By leveraging the RateMyProfessor API, we facilitated real-time access to professor evaluations, streamlining the course selection process with an intuitive UI/UX. The extension dynamically displays aggregated data through web scraping techniques, interfacing with a local server to fetch and parse relevant academic metrics through the UCSC Catalog. We ran into many challenges. Mainly 2 that took us hours to fix. The first one was connecting all of our test scripts and UI/UX to our local server. Developing the "Enrollment Helper" Chrome extension posed a unique challenge in bridging the gap between the front-end presentation and back-end data handling, particularly when interfacing with our local server. Initial hurdles in establishing a seamless connection were overcome by implementing cross-origin resource sharing (CORS) policies, which allowed our front-end scripts, running within the Chrome extension's secure context, to request and receive data from our locally hosted server. By making asynchronous JavaScript calls and the fetch API, we were able to web scrape and relay professor ratings from RateMyProfessor API to the extension's UI. Chrome didn't support running backend python script, so that is why we had to host our own local server in order for the extension to work. We had trouble transferring output from our backend scripts to the popup.html file. The scripts were printing in the console, but we had trouble figuring out how to pass this data to our javascript files in our program. After hours of documentation we found a way for the data to appear on our chrome extension. ##
Accomplishments we're proud of
Coming into this hackathon, we had basic knowledge on application development. Making a chrome extension with flask and hosting a local server was something we learned on the fly. We worked around the problems we faced and were able to complete the project. ##
What we learned
We honed our skills in different areas. We navigated API integration, mastering web scraping and various JavaScript functions for effective data handling. Diving into Chrome's APIs, we learned to manage background processes and storage, while also tackling CORS. Our front-end development was refined as we crafted a user-friendly interface. Debugging with Chrome Developer Tools and using web standards were some skills we picked up on. This project not only advanced our technical expertise but also sharpened our problem-solving abilities and collaborative skills. ##
What's next
We have a lot of plans for whats next in UCSC Enrollment Helper. We plan to have this extension available on MyUCSC enrollment page itself. We also want to get in touch with other colleges to implement this extension function as well for their own colleges. Maybe even expanding our own extension to the general schools.
EnrollmentHelper
UCSC Enrollment Helper chrome extension. Uses RateMyProfessor API.
python API link: https://pypi.org/project/RateMyProfessorAPI/
Analysis
View
Metric
- 9
- 4
- 4
- 4
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- FlaskClaimed
4 of 5 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
13 KB
Source files
9
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
UCSC-Enrollment-Helper/EnrollmentHelper
20 files · 99 KB · @ 7686d86
Structure
Interface
2 files · 10%Screens, components and styles rendered to the user.
Application logic
7 files · 35%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript39%
- Python33%
- CSS22%
- HTML4%
- Markdown1%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.