Introduction to i On and i On Integration - i-on-project/integration GitHub Wiki

Academic information, such as class schedules, or academic calendars, is often scattered throughout each institution's webpage, departmental sections, or its Learning Management System, and typically in distinct formats. This data dispersion provides a challenge for students to navigate through, making simple tasks such as picking out a class schedule confusing and time consuming.

The i-on initiative aims to be a single point of reference to the academic community, aggregating published information regarding term calendars, timetables, courses, and other items of relevance.

i-on Integration is a key component of the initiative providing it with information from external sources in a structured and consistent format.

The i-on Initiative

I-on is an open-source academic information aggregation and distribution system, whose purpose is to collect and present this data in a simple and meaningful way and provide a set of functionalities to make students' lives easier, such as building course schedules or keeping track of tests and exams.

It is a multi-semester initiative started in 2020 as a source of durable student projects, to be deployed, used, and maintained but also to be used as a playground for experimentation for software architecture, project organization and deployment and operation techniques.

It is composed of five projects:

  1. i-on Core is the repository of academic information which other projects will access through Core’s Web API .
  2. i-on Web provides a web interface for the information available in i-on Core.
  3. i-on Android is an application for Android devices to present academic information.
  4. i-on Codegarten allows the creation and management of git repos used by students working on course assignments, making its first appearance in the current term.
  5. i-on Integration retrieves and parses information from external sources, making it available for all i-on projects.

i-On Integration

i-on Integration obtains and processes unstructured data, normalizes, and publishes it in a consistent and structured format to be consumed by other i-on projects. The current scope expects retrieval of data available in Portable Document Format (PDF) from online institution resources, which is then processed to generate output in JSON or YAML format.