github.com/tisuela/CourseCake

By serving course 📚 data that is more "edible" 🍰 for developers, we hope CourseCake offers a smooth approach to build useful tools for students.

Open this visualization on its own page →

Contributors

2

Lines of Code

894

From

2020-07-09

To

2020-10-06

About tisuela/CourseCake

CourseCake is a Python web service that provides unified access to university course information through multiple interfaces. It offers a REST and GraphQL API, a database package, and web scrapers that collect course data from multiple institutions including UC Irvine, Cal Poly San Luis Obispo, and UC Santa Cruz. The project aims to make course data easily accessible to developers so they can build tools for student course planning and discovery.

The core motivation centers on responsible data access and developer convenience. For UC Irvine, it scrapes and caches WebSoc course data to reduce load on the original system and maintain availability even when the primary source is down. The platform unifies course information across different schools using standardized schemas that distinguish between courses and their individual class offerings. The backend uses FastAPI with SQLAlchemy for database management and Graphene for GraphQL support, while web scraping relies on BeautifulSoup4 to extract course information.

CourseCake is designed to support student developers and application builders at multiple universities who want to create course-planning tools without directly hammering institutional systems or dealing with inconsistent data formats. The project is actively developed with plans to integrate instructor ratings from RateMyProfessor and add prerequisite mapping with network visualization capabilities in the future.

Share this video