Phase 4 · 8 Module liefern Echtdaten

Eurostat-Daten,
auf jedem Bildschirm.

Ein Open-Source-Client für die öffentliche Eurostat-API — für Mobilgeräte und Desktop. Acht Themenmodule — Wirtschaft, Bevölkerung, Umwelt, Handel, Verkehr, Tourismus, Soziales, Wissenschaft — in einer einzigen Kotlin-Multiplatform-Codebasis.

🇪🇺Unabhängiger Open-Source-Client von Drittanbietern. Nicht mit Eurostat oder der Europäischen Kommission verbunden.

Übersicht aller acht Module in der EU Stats App
18
Eurostat-Datensätze
8
Themenmodule
444
bestandene Unit-Tests
AGPL-3.0
Open-Source-Lizenz
Was die App leistet

Öffentliche europäische Daten, als erstklassiges Produkt behandelt.

Ruhige, redaktionelle Benutzeroberfläche. Stale-while-revalidate-Caching. Echte API-Aufrufe, keine Mocks. Entwickelt für Bürgerinnen und Bürger, Journalistinnen und Journalisten sowie Studierende, die europäische Statistiken erkunden möchten, ohne von einem bestimmten Anbieter abhängig zu sein.

Echtdaten über öffentliche API

Alle acht Module liefern Live-Daten aus der offiziellen Eurostat-Verbreitungs-API — insgesamt 18 Datensätze. Keine hartcodierten Mocks; keine Demo-Datenbanken.

Stale-while-revalidate-Caching

SQLDelight-Cache mit 12-Stunden-TTL. Gecachte Daten werden sofort angezeigt, die Netzwerkaktualisierung läuft im Hintergrund, und offline bedeutet nie einen leeren Bildschirm.

Acht Themenmodule

Wirtschaft, Bevölkerung, Umwelt, Handel, Verkehr, Tourismus, Soziales, Wissenschaft. Jedes Modul hat seinen eigenen Datensatz, sein Auswahl-Muster und ein passendes Diagramm.

Reine Compose-Canvas-Diagramme

Acht Diagrammtypen — Linie, gestapelte Balken, Bevölkerungspyramide, Heatmap, divergierende Balken, Radar, Small Multiples, mehrfach hervorgehobene Linien — gezeichnet auf einem Compose Canvas ohne externe Rendering-Abhängigkeiten.

Von Anfang an multiplattformfähig

Android-Smartphone & Tablet, iPhone & iPad sowie ein eigenständiges Compose-Desktop-.jar für macOS, Linux und Windows — alles aus einer gemeinsamen Kotlin-Codebasis.

Jahresauswahl auf jedem Bildschirm

Neu eingeführt: Wählen Sie ein beliebiges historisches Jahr, und die Überschrift sowie die Statistik-Kacheln aktualisieren sich sofort — ohne Netzwerkanfrage. Das Diagramm zeigt weiterhin die gesamte Zeitreihe; das Jahr steuert nur die Anzeige.

Acht Module

Tab öffnen. Land wählen. Jahr scrubben.

Jedes Modul besitzt einen Datensatz, ein Auswahl-Muster und ein charakteristisches Diagramm, das zur Datenform passt. Die Beschreibungen stammen direkt aus dem Projekt-README.

Bevölkerungsmodul — Jahres-Slider verschieben, um die Pyramide zu morphen

Bevölkerung

demo_pjangroup · 18 Kohorten · M/F/T

Eine demografische Pyramide für 18 Alterskohorten (Fünfjahresbänder, Y_LT5 bis Y_GE85). Die Überschrift zeigt die Gesamtbevölkerung mit Jahresveränderung. Eine dreiteilige Segmentsteuerung (Gesamt / Männer / Frauen) dimmt die jeweils andere Seite der Pyramide bei Auswahl eines Geschlechts. Ein Jahres-Slider scrollt durch verfügbare Jahre; eine Länder-Chip-Reihe wechselt das aktive Land ohne erneuten Datenabruf.

Bevölkerungspyramide Jahres-Slider M/F/T segmentiert
Wirtschaftsmodul — BIP, HVPI-Inflation und Defizit

Wirtschaft

nama_10_gdp · prc_hicp_aind · gov_10dd_edpt1

Drei Makroindikatoren — BIP zu laufenden Preisen (Milliarden EUR), HVPI-Inflationsindex (2015 = 100) und staatliches Nettokreditwesen/-darlehensnehmen als % des BIP — als Mehrländer-Liniendiagramm dargestellt. Eine Segmentsteuerung schaltet den aktiven Indikator um; die zwei inaktiven Indikatoren bleiben als gedimmte Statistik-Kacheln sichtbar. Ein Doppelgriff-Jahres-Scrubber begrenzt den x-Bereich des Diagramms; ein separates Jahres-Dropdown wählt das Jahr für die Überschrift.

Mehrlinien-Diagramm Indikator-Segmentsteuerung Doppelgriff-Scrubber
Umweltmodul — THG, Energie, SDG-Klimaindex

Umwelt

env_air_gge · nrg_bal_c · sdg_13_10

Drei Klimadatensätze per Dropdown auswählbar: Treibhausgasemissionen in Mt CO₂-Äq., Endenergieverbrauch in ktoe sowie der SDG-13-Klimaindex (1990 = 100). Bei aktivem THG- oder Energie-Datensatz filtert eine Chip-Reihe nach Sektor (GESAMT / VERKEHR / INDUSTRIE). Das Haupt-Diagramm ist ein Liniendiagramm, das das aktive Land mit einem Peer vergleicht; zwei Statistik-Kacheln zeigen die anderen Indikatoren für dasselbe Jahr.

Indikator-Dropdown Sektor-Chip-Reihe Peer-Vergleichslinie
Handelsmodul — divergierende Balken für Exporte, Importe, Saldo

Handel

ext_lt_intratrd

EU-Binnengüterhandelsströme — Exporte, Importe und Handelsbilanz in Milliarden EUR. Das Haupt-Diagramm ist ein divergierendes Balkendiagramm über die acht jüngsten Jahre; Exporte verlängern sich nach rechts, Importe nach links. Drei Unterstrich-Tabs (Exporte / Importe / Saldo) heben die jeweilige Richtung hervor. Zwei kompakte Statistik-Kacheln zeigen die Werte des aktiven Landes für das gewählte Jahr.

Divergierendes Balkendiagramm Unterstrich-Tabs Jahres-Dropdown
Verkehrsmodul — Small Multiples für Straße und Luftfahrt

Verkehr

road_pa_buscoa · avia_paoc

Straßen- und Luftfahrgastzahlen als Small-Multiple-Liniendiagramme nebeneinander. Straßendaten (Milliarden Fahrgäste) und Luftdaten (Millionen Fahrgäste) sind je Panel unabhängig skaliert. Ein Pill-Toggle (STRASSE / LUFT / ALLE) steuert, welche Panels sichtbar sind. Ein Log-Skalenschalter komprimiert die Achse bei Ländern mit sehr unterschiedlichen Größenordnungen. Drei Statistik-Kacheln fassen Straße, Luft und eine „See: n/a"-Kachel zusammen, die ehrlich erklärt, warum der hafenbasierte Datensatz bewusst ausgeschlossen ist.

Small Multiples Pill-Toggle Log-Skalenschalter
Tourismusmodul — gestapelte Übernachtungen und Saisonalitäts-Heatmap

Tourismus

tour_occ_ninat · tour_occ_nim

Übernachtungen in Beherbergungsbetrieben — inländische, ausländische und Gesamtübernachtungen — als gestapeltes Balkendiagramm über die neun jüngsten Jahre. Eine Chip-Reihe steuert, welcher Indikator die Überschrift bestimmt. Unterhalb der gestapelten Balken zeigt eine monatliche Saisonalitäts-Heatmap (Zellen = Monat × Jahr) die Verteilung der Übernachtungen über den Kalender.

Gestapelte Balken Chip-Reihe Saisonalitäts-Heatmap
Sozialmodul — KPI-Kacheln steuern ein hervorgehobenes Liniendiagramm

Soziales

ilc_li02 · ilc_peps01 · hlth_silc_01

Drei Wohlfahrts-Prozendindikatoren aus EU-SILC-Erhebungen: Armutsgefährdungsquote, Quote der von Armut oder sozialer Ausgrenzung bedrohten Personen sowie der Anteil der Bevölkerung, der den eigenen Gesundheitszustand als sehr gut einschätzt. Alle drei werden gemeinsam als mehrfach hervorgehobenes Liniendiagramm dargestellt; ein Antippen einer KPI-Kachel verlagert den Fokus auf diese Zeitreihe und aktualisiert den Überschriftswert.

Mehrfach hervorgehobene Linien KPI-Kachel-Selektor Jahres-Scrubber
Wissenschaftsmodul — Radardiagramm für F&E, Internetnutzung und Hochschulabschlüsse

Wissenschaft

rd_e_gerdtot · isoc_ci_ifp_iu · edat_lfse_03

Drei Innovationsindikatoren — F&E-Ausgaben als % des BIP, Internetnutzungsrate und Hochschulabschlussquote bei 25–64-Jährigen — gleichzeitig in einem Radardiagramm dargestellt. Der Radar überlagert das aktive Land mit einem einzelnen Peer (bevorzugt DE, dann FR, dann EU27). Drei Sparklines darunter zeigen stets den vollständigen Trend. Es gibt keinen Indikator-Umschalter; der Radar stellt alle drei Achsen gleichzeitig dar.

Radardiagramm Peer-Überlagerung Drei Sparklines
Unter der Haube

Bewährte, konservative Entscheidungen — mit Absicht.

Clean Architecture über 17 Gradle-Module. Jede Schicht hat einen versiegelten Vertrag. Kein !!-Operator irgendwo; keine Drittanbieter-Diagramme; kein Dispatcher-Leck.

Architektur

  • Multi-Modul Clean Architecture — datadomainui
  • Result<T> · AppError · DispatcherProvider-Verträge
  • Decompose für Navigation, Komponenten & Lebenszyklus
  • Koin für Dependency Injection
  • Stale-while-revalidate-Repository-Muster

Daten

  • Ktor Client — Darwin-Engine auf iOS, OkHttp auf Android
  • kotlinx.serialization für JSON & Cache-Blobs
  • SQLDelight-Schemas mit typisierten DAOs
  • Selbst entwickelter JSON-stat-2.0-Parser in core-jsonstat
  • Coroutines + Flow + StateFlow durchgehend

UI

  • Compose Multiplatform — Android, iOS, Desktop
  • object Euro-Design-Tokens — Farben, Typografie, Abstände, Formen
  • ~25 wiederverwendbare Composables in core-ui
  • Acht Diagrammtypen auf reinem Compose Canvas — kein Koalaplot
  • kotlin.test & Turbine für Unit- & Flow-Tests
Drei Formfaktoren

Smartphone, Tablet, Desktop — ein Compose-Code.

Ein Journalist am Desktop, eine Studentin auf dem Tablet, ein Bürger am Smartphone — dieselben Daten, dieselben Komponenten, dasselbe Rendering. Bereits auf Infrastrukturebene implementiert.

Android
Android Handy · Tablet
iOS
iPhone · iPad
macOS · Linux · Windows
Compose Desktop

Eine Kotlin-Codebasis. Compose-Multiplatform-UI. Native Widgets auf jeder Plattform.

Roadmap

Ehrlich darüber, was liefert, was als Nächstes kommt und was Finanzierung braucht.

Das Projekt befindet sich in Phase 4: Alle acht Module zeigen Echtdaten auf Android. Phase 5 vervollständigt die Oberfläche — Übersicht, Länderauswahl, Einstellungen — und Phase 6 bringt das erste Release.

Bereits verfügbar

Phase 4 · verifiziert
  • Acht Themenmodule vollständig mit echten Eurostat-Daten verdrahtet
  • Stale-while-revalidate-Caching · Offline übersteht einen Flug
  • Jahresauswahl in jedem Modul · Überschrift aktualisiert sich ohne erneuten Abruf
  • Acht Diagrammtypen auf reinem Compose Canvas
  • Android-APK kompiliert · Compose-Desktop-.jar läuft auf macOS/Linux/Windows
  • Veröffentlicht unter AGPL-3.0

Nächster Meilenstein (M1)

Phase 5 · in Arbeit
  • Übersichts-Dashboard — Einstiegs-Kachelraster
  • Länderauswahl — durchsuchbare Liste und Karte antippen
  • iOS-Rauchtest im Simulator · alle acht Tabs verifizieren
  • Einstellungs-Persistenz · Farbschema, Standardland, Sprache
  • Echtes Flaggen-Rendering · gebündelter Inter-Font

Förderziele (M2 · M3)

Phase 6 · NLnet-Kandidat
  • Lokalisierung · Polnische & Ukrainische Übersetzungen
  • Native Installationspakete · .dmg, .msi, .deb, Flatpak
  • Mehrländer-Vergleich · Überlagerung oder Small Multiples
  • Modulübergreifende Suche · Indikator-Index über alle acht Module
  • Breitbild-Master-Detail-Layouts für Tablet und Desktop
Open Source · öffentliches Interesse

Unabhängig entwickelt. Veröffentlicht unter AGPL-3.0.

Derzeit wird eine Einreichung beim offenen NLnet-Aufruf geprüft, um die nächsten Meilensteine zu finanzieren. Bürgerinnen und Bürger, Journalisten und Studierende sollen in der Lage sein, öffentliche europäische Daten zu erkunden, ohne von einem bestimmten Anbieter abhängig zu sein — auf jedem Gerät, das sie bereits besitzen.

Roadmap lesen