Inspiration

As first and second year undergraduate students at Northeastern University, we were inspired to improve the ways in which we are able to plan out our degree program and classes for the remainder of our education without having to consult the Degree Audit system that often leaves students more confused that prepared. We were specifically interested in assisting students in planning their courses effectively, developing a site that is quick and visually interesting, and displaying accurate data that is easily interpreted.

What it does

Map your degree is a user friendly website that clearly shows users the key information they want to know about the most efficient way to complete their specific degree track. The website includes a Plan Your Degree page that allows users to input their desired degree program url into a search bar which will then output a series of tables with content such as "Major Requirements", "Supporting Courses", "Writing Requirements", etc. A user can then check off boxes in this table of classes they are enrolled in and upon pressing a save button will be given visual pie charts of what percent they have completed of their degree requirements and what they have left to fulfill these in percentage form. User will also find concentration options at the bottom that will display the courses needed for that concentration requirement as well.

How we built it

We built this website using Streamlit, Visual Studio Code, Python, CSS, HTML, and GitHub for collaborative purposes. Streamlit is our website's main host and is built using Python as well as CSS via st.markdown() which allows us to utilize stylistic code. Each of our pages was built from scratch as far as design and functionality go in VS Code with Python files. Some of us worked on the backend functionality such as webscraping the Northeastern degree websites by handwriting Python scripts while others worked on front end development such as visualizing the data or the overall design of the website.

Challenges we ran into

When beginning our project we ran into several challenges on the front and back end of development. When it came to scraping the websites, we took several approaches to save the CSV files, even making an sql database which we didn't up using. There were also a few issues with getting our program to organize the majors correctly and not include repeated information. On the front end side of things, we initially began by trying to make a React + Vite website and utilizing Node.js but found problems when transferring our program's outputted CSV files into a .json format that the Java based web building could render. While it is possible to merge the two, we did not have enough time to try and troubleshoot the issue so we decided the best way to represent the data we worked hard to collect was through Streamlit. Once we were writing our website in Streamlit we ran into a few compiling issues here and there but in the end we were able to overcome all of them to output an amazing finished product!

Accomplishments that we're proud of

We are so proud of the final product we created. Not only does it accomplish exactly what we set out to do, but it is also stylistically pleasing and fully functional.

What we learned

We learned so much during this Hackathon including how to write better scripts in Python, how to develop website via Streamlit, how to make efficient databases in sql, how to make websites from scratch in java using React + Vite and NodeJs, how to utilize API calls, how to web scrape, how to create a database, and finally how to manage a database.

What's next for Map Your Degree

If we were to spend more time on this project, we would love to add more functional features and data options such as tackling the tricky NU Path requirements, implementing our program for Combined Majors, optimization suggestions of what classes to take next and maybe even include pathways to view information from Rate My Professor or other useful third party tools.

Built With

Share this project:

Updates