Abfallkalender als iCal

abfall.nerdbridge.de stellt alle Abholtermine der Abfallwirtschaft Northeim als iCal Datei bereit, welche in eine beliebige Kalender App eingebunden werden kann.

Geschichte

Irgendwann im Jahr 2017 haben wir angefangen manuell in einer Excel Tabelle die Termine für die Müllsammlung in Einbeck zusammenzufassen. Ein simples PHP Script wandelte diese Tabelle dann in eine statische iCal Datei um, welche über unsere Website in einen beliebigen Kalender eingebunden werden konnte.

Anfang 2019 führte der Landkreis Northeim dann eine App für Android und Apple Smartphones ein, welche uns erlaubte, alle Abholgebiete automatisiert als iCal Datei bereit zu stellen. Endlich kein manuelles abtippen der Papierkalender mehr! :tada:

Ende 2021 ging eine überarbeitete Version der Website online, welche es erlaubt Sammelkategorien und Erinnerungen einzustellen. Anhand der Einstellungen wird eine individuelle iCal Datei erzeugt. Auch Datenquellen für Entwickler wurden hinzugefügt.

Entwickler APIs

Unter /json/index.json gibt es eine Liste aller verfügbarer Rohdaten pro Abholgebiet.

Unter /v2-json/abfall-nom-einbeck_bezirk_2-2024.json gibt es die eigentliche Datei, welche für die Erzeugung der iCal Datei verwendet wurde.

Die Rohdaten abzurufen macht allerdings nur Sinn, wenn man an historischen Daten interessiert ist, die Daten vom aktuellen und vorherigen Jahr gibt es unter /json/abfall-nom-einbeck_bezirk_2-HM2W,PET,BIO,PAP,GL.json, identisch dynamisch zusammen gestellt wie die iCal Dateien.

Nutzer Statistiken

Im Dezember 2023 wurden 260 individuelle Kalender von 6329 „Unique Visitors“ (IP Adresse pro Tag) insgesamt 79511 Mal abgerufen, was einen Traffic von 6,27 Gigabyte verursacht hat.

 Dashboard - Overall Analyzed Requests (01/Dec/2023 - 31/Dec/2023)                                                                                                                [Active Panel: Visitors] 
  Total Requests  79511 Unique Visitors  6329 Requested Files 260 Referrers  0
  Valid Requests  79506 Init. Proc. Time 1s   Static Files    0   Log Size   0.0   B
  Failed Requests 5     Excl. IP Hits    0    Not Found       3   Tx. Amount 6.27 GiB

Code

https://git.nerdbridge.de/nerdbridge/abfall.nerdbridge.de

Daten aktualisieren

Hauptverzeichnis auf dem Server: /mnt/dockerdata/volumes/web-abfall/html/

Update auf dem lokalen PC ausführen:

  • git checkout
  • php -f getjson.php (Mit einer PHP 7+ CLI): Neue Daten werden gezogen
  • Änderungen via git überprüfen und stichpunktartig gegen die PDF Kalender prüfen
  • Daten manuell auf dem Server in ./v2-json kopieren
  • Ordner ./v2-ics leeren
  • Datei ./v2-json/index.json löschen
  • Changelog in ./index.php aktualisieren (auf dem Server und lokal im git)
  • Änderungen in git einchecken
  • Profit. :rocket:
1 „Gefällt mir“