Skip to content

Add EUCLID code to courses as metadata

Yuto Takano requested to merge yutotakano/associate-infr-codes into master

It would be helpful to able to link courses to EUCLID codes (INFR****).

This would help in the following situations:

  • Knowing if a course is running or not - Query the BetterInformatics courses.json list with the EUCLID code
  • Auto-adding categories in the future (maybe) - the mapping could allow automatic discovery of running courses without a category
  • Keeping track of history - Courses can undergo changes and be offered as multiple EUCLID codes over the years, without changing much in content. Being able to link them all to a course can show what they were previously offered as.

A course can have multiple EUCLID code based on duplicates offered at different levels (lvl 10 vs 11, or UG vs PG).

On the other hand, a EUCLID code will always only map to one course content (as any course changes through the Board of Studies will update the code). This is because the university follows a policy where EUCLID content is the "golden copy" where everything else is derived from, the data there is always precise.

Includes a database migration and frontend updates to accompany it.

This MR makes the "semester" and "form" database fields for a category redundant as the same data is sourced on the frontend using an external API (BetterInformatics.com/courses.json), but they are kept just in case.

Edited by Yuto Takano

Merge request reports