Seit Mai 2022 speichere ich meinen Wiedergabeverlauf von Spotify mit. Mich hat sehr interessiert, welche Künstler / Genres / Songs ich wie oft höre. Und ob der offizielle Jahresrückblick von Spotify akkurat ist. Die Daten läd ein Raspberry Pi stündlich von der offiziellen API herunter.
Konsole
Am Anfang konnte ich noch nicht abschätzen, was für ein Mammutprojektdas das werden würde. Deshalb habe ich die Daten zu Beginn nur in einer CSV-Datei gespeichert und mit einem Pythonscript im Terminal ein paar Balkendiagramme gezeichnet.
Django
Später habe ich zur besseren Visualisierung eine lokale Website aufgesetzt. Dafür habe ich das Framework Django verwendet, was den Vorteil hatte, dass ich einfach über Python mit meinem Analyse-Backend kommunizieren konnte. Ich war aber mit vielem unzufrieden und dass lies sich mit nur Django allein schwer beheben, zudem musste ich alle Digramme in den HTML Canvas rendern.
Node
Es war Zeit etwas grundlegend zu verändern. Mein vanilla Pythonscript konnte die Menge an Daten nicht mehr effizient auswerten und komplizierte Operationen waren darauf auch nicht möglich.
Also habe ich alles neu geschrieben und speichere alle Daten nun in eine richtige Datenbank. Mit Django war ich ja auch nicht glücklich und da ich sowieso alles mit JavaScript repariert habe, habe ich die Seite einfach ohne Framework neu geschrieben. Mit d3.js für die Diagramme bin ich nun auch viel flexibler. Das Backend besteht jetzt aus einem umfangreichen express.js Server auf Node.js.