InsightUBC is a project built for a software engineering course at UBC, built to help navigate students around UBC. The project is hosted at insightubc.randyzhu.com, with the API running on Google Cloud Run (GCR) at insightubc-api.randyzhu.com. We used the HTML parsing library using parse5 to scrape data from UBC scheduling services’s website for all rooms at UBC, then designed a custom data-query DSL and implemented a simple tree-descent interpreter for said DSL. Finally, we implemented a RESTful backend API using express.js and the frontend using React.js, Microsoft’s Fluent UI toolkit and Vite.

A technical presentation of the video is below:

Updated: