Have you ever been annoyed by how many services you have to use to access your course information and assignments? Meet TODO, an easy-to-use interface that combines your Canvas assignments and messages as well as Piazza instructor posts into one.
At UBC, courses primarily use Canvas to organize course content but many also use services such as Piazza/EdStem for discussions, as well as WeBWorK and PrairieLearn for assignments. Our goal is to integrate these all into a single service that anyone at UBC can use. For nwHacks 2023, we narrowed the scope to Canvas and Piazza since those are the most important and used services.
Our technology stack consists of a Python back end that interacts with the Canvas API as well as an unofficial Piazza API. The back end also syncs data with a MongoDB database for storing and retrieving information. Lastly, we have a React front end that communicates with our custom Flask API to retrieve and display the information to users.