Inspiration

Choosing classes is sometimes not intuitive, especially for incoming freshman and newer students. However, if we visualize it, as well as use something that can show what we can likely take in the future, such as a tree of all the prerequisites, we can get a better picture of the impact each course will have.

What it does

Displays all related courses and their prereqs in a degree, and shows how one course links to others. More impactful and "core" courses will have visually drastic differences, implying their necessity. Classes can be toggled and stored, allowing you to see how your courses can actually relate to different degrees as well! Maybe you might have many courses in another department, and can consider a minor :0

How we built it

Scraped data for degree requirements, into a prerequisite tree stored in the backend. Then fetched into react and displayed using a canvas.

Challenges we ran into

Inconsistent data scraping, missing courses, inconsistencies with catalogue and peterportal.

Many libraries didn't accomplish what we needed, so built out of scratch.

Accomplishments that we're proud of

What we learned

There are so many options, perhaps too many. What is the best way to get the data, maybe even this data can be valuable to others. There is furthermore so much we can do with data and scraping, and that software development is not just writing the actual code and software, but sometimes even the scripts that does the in between for us.

Furthermore, React is very flexible, yet is a different way of thinking. Contexts, states, and props is all there is. Rerendering to these "effects" and hooks is a different pipeline than what we are most used to.

Also, love R3F, ThreeJS is so cool!

What's next for zot-tree

Develop API to incorporate with PeterPortal to fetch degree requirements rather than inconsistent webscraping

Incorporate with Zotcourse/AntAlmanac

Utilize Peterportal for more information in the tree, ex: show future released schedule to recommend courses

Enable easier switches between degrees

Built With

Share this project:

Updates