Inspiration

Many students at Brown and other universities spend a lot of time planning their courses to satisfy their specific degree requirements. However, this can be a difficult process due to the array of requirements, courses available, and timing constraints that students may face.

What it does

Students can login with Google OAuth and construct their four-year degree schedule as they see fit and see how these courses can work to satisfy their degree requirements. Users can add semesters to their schedule and courses to each individual semester in order to better visualize their options. This is built on an API that retrieves the courses that are offered by the university and how often these courses are typically offered.

How we built it

Our backend runs on Express.js and Mongoose with MongoDB powered by GCP. Our backend API handles authentication and storing schedules for each user, as well as querying the available courses that the student has available. The backend can also process whether the current schedule satisfies the concentration requirement that the student is pursuing. Our frontend runs on React.js and MUI. We used recursively defined components to represent the complex structure of degree requirements.

Challenges we ran into

We spent a lot of time deploying our project to a production environment. A lot of time was also spent on scraping Courses@Brown (CAB) for the course offerings.

Accomplishments that we're proud of

We are proud of the data that we were able to scrape from the Courses@Brown website to get updated course offerings.

What we learned

For some of us, this was our first experience using TypeScript. For others, some of us learned React.js from scratch. We also learned how to use Google Cloud Platform for deployment.

What's next for Plan@Brown

We have algorithms planned and in progress to validate

Share this project:

Updates