Inspiration

Common struggles surrounding enrollment restrictions, class availability, confusing pre-requisite requirements, and more led us to believe in the power of developing a student-friendly enrollment planner.

What it does

Upon inputting a major into the interactive search bar, the website automatically generates a 4-year degree map, split into 12 quarters such that pre-requisites for classes are always filled before they are taken.

How we built it

To build the frontend, we utilized React—specifically, functional components, splitting the processing between several different files. In order to generate our degree map, we had to scrape major requirements for every major and prerequisites for each course from the UCLA General Catalog and Schedule of Classes, then clean, format and export the data using a combination of regular expressions and dataframe manipulation. Then, this CSV data was fed into our React app.

Challenges we ran into

-Web scraping from nested div tags
-Inconsistent raw data formatting
-Incomplete and confusing course requirement information
-Reading CSV files into React

What we learned

-Creating web-scraping algorithms to retrieve data from the UCLA sites
-Hands-on experience with functional programming in React
-Experience collaborating using Git version control

Accomplishments that we're proud of

-Pretty much everything above!

What's next for PlannedBruin

-Adding customization for double majors, minors, specializations and GE requirements based on school
-Adding availability of course offerings for each quarter
-Adding the ability to take into account previously completed coursework and generate modified plans
-Integration with Bruinwalk and links to professors who have previously taught for those classes
-Integration with MyUCLA’s DARS and Class Planner to streamline the process of class selection and enrollment

Share this project:

Updates