Inspiration

Though shopping period at Brown University presents a nice opportunity to experience many classes, it also presents a stressful time for students not fortunate enough to receive a spot in a desired class. Though the obstacle of full classes can very often be overcome by talking to professors to obtain override codes, the worry of not being registered in a critical course can be quite unpleasant. Through Course Trader, we aimed to develop a tool that would provide an alternate way of getting into capped classes by trading spots in these classes with other students.

What it does

The premise of Course Trader is very simple. A student chooses a course section that they plan to drop along with a course section that they would like to be registered in. These can even be different sections from the same course. For example, one might want to move from a Monday lab section to a Tuesday lab section in order to make space for other classes. Course Trader then looks for other students that would be willing to make the switch. Upon receiving the necessary login information, Course Trader then drops and registers the students in their preferred courses.

How we built it

The front end of Course Trader is built in React, and the back end is built in Typescript using WebSockets.

Challenges we ran into

We initially encountered problems accessing Brown's course catalog, cab.brown.edu, but resolved them with using Puppeteer. It was also a bit difficult to get the browser notifications to work. Other than that, we didn't run into any large challenges in developing Course Tester.

What's next for Course Trader

Course Trader could definitely benefit from the addition of more features, including automatic enrollment into classes when openings appear, displaying the current trade offerings of other users, and organizing larger trade networks to get multiple people into their desired classes at the same time. If Course Trader becomes more widely used, we might work to incorporate these features in the future.

Built With

Share this project:

Updates