My Schedule - avinotec/Stundenplaner.FHE_EAH GitHub Wiki

Structure

  1. Calendar View
  1. Overview (to manage the subscribed courses)
  1. Dialog (to add new courses to subscription)

EventSeries vs. EventSet

From the API (example My Schedule API Call), we get a map of EventSets. Each EventSet has a title, e.g. "AO(BA)Opto I/P I/02.4", and an ID (acitvityId). Furthermore, it stores a set of dates (incl. time) and corresponding information like participating study groups, location, staff, etc. for the whole set of events.

An EventSeries is also a set of events. Whereas an EventSet contains events belonging to the same activityId (meaning they have the same event title), an EventSeries contains events belonging to the same "course". This means that the EventSets "AO(BA)Phy/T/01.1", "AO(BA)Phy/T/01.2" and "AO(BA)Phy/T/01.3" (click here to see how event titles are composed) will be merged together into one EventSeries.

To determine the "course" of an event/EventSet, we strip the event title by cutting away the "." and all numbers after it, leading to "AO(BA)Phy/T/01" as title of the corresponding EventSeries in the example above. Thus, an EventSeries comprises multiple activity IDs.