Specs
Die Datenquellen, Bibliotheken und Tools, die Schlagerwolke antreiben.
Datenquellen
Schlagerwolke nutzt die folgenden Quellen, um seine Datenbank aufzubauen und anzureichern:
Song- und Künstler-Entdeckung, Credits, Biografien
Ergänzende Künstler-Informationen
IPI-Nummern von Komponisten/Textern, Release-Metadaten
Verifizierung von Rechteinhabern (manuelle Abfragen)
Release-Metadaten, Interpreten-Credits
Apple-Music-Streaming-Links
Spotify-Streaming-Links
| Quelle | Verwendet für | Lizenz |
|---|---|---|
| German Wikipedia(öffnet in neuem Tab) | Song- und Künstler-Entdeckung, Credits, Biografien | CC BY-SA 3.0 |
| English Wikipedia(öffnet in neuem Tab) | Ergänzende Künstler-Informationen | CC BY-SA 3.0 |
| MusicBrainz(öffnet in neuem Tab) | IPI-Nummern von Komponisten/Textern, Release-Metadaten | CC0 / ODbL |
| GEMA Werkdatenbank(öffnet in neuem Tab) | Verifizierung von Rechteinhabern (manuelle Abfragen) | Öffentliche Abfrage |
| Discogs(öffnet in neuem Tab) | Release-Metadaten, Interpreten-Credits | Öffentliche Abfrage |
| iTunes Search API(öffnet in neuem Tab) | Apple-Music-Streaming-Links | Öffentliche Apple-API |
| Spotify Web API(öffnet in neuem Tab) | Spotify-Streaming-Links | Öffentliche Spotify-API |
Song- und Künstlerdaten werden automatisch von zwei Agenten gesammelt und angereichert — Crawler (Entdeckung) und Sherlock (Anreicherung) — die im Stundentakt laufen.
Drittanbieter-Tools
Dieses Projekt basiert auf Open-Source-Software. Hier sind die wichtigsten Bibliotheken und Dienste, die wir nutzen.
Kern-Framework
UI-Framework
Full-Stack-React-Framework mit serverseitigem Rendering
Typsicheres dateibasiertes Routing
Server-State & Datenabruf
Build-Tool & Dev-Server
Typisiertes JavaScript
UI & Design
Utility-first Styling
Barrierefreie Komponenten-Primitive
Headless UI-Primitive
Icon-Set
Toast-Benachrichtigungen
Überschriften und Wortmarke — selbst gehostet
Fließtext — selbst gehostet
Daten & Formulare
Visualisierung
Tests
KI
Plattform
Implementierung
- Netzwerkanalyse
- Eigene TypeScript-Algorithmen berechnen Knotengrad, PageRank, stichprobenbasierte Betweenness, Communities per Label Propagation und den ungefähren Durchmesser. Die Einblicke nutzen einen gespeicherten Kennzahlen-Snapshot.
- Gespeicherte Personen-Zeitleisten
- Personen-Zeitleisten werden in Postgres zwischengespeichert und bei Änderungen der zugrunde liegenden Daten durch Datenbank-Trigger aktualisiert.
- Katalog-Cache
- Öffentliche Katalogantworten und Abfragedatensätze werden fünf Minuten zwischengespeichert, um wiederholte Lesezugriffe zu reduzieren.
- Geplante Hintergrundaufgaben
- pg_cron und pg_net koordinieren fortsetzbare Aufgaben zur Berechnung der Netzwerkkennzahlen. Worker-Anfragen werden nur bei wartenden oder laufenden Aufgaben gesendet; alte interne Protokolle werden jede Nacht bereinigt.