Faza 4 · 8 modułów z danymi na żywo

Dane Eurostatu
na każdym ekranie.

Klient open-source dla publicznego API Eurostatu, dostępny na urządzenia mobilne i komputery. Osiem modułów tematycznych — gospodarka, populacja, środowisko, handel, transport, turystyka, społeczeństwo, nauka — na jednej wspólnej bazie kodu Kotlin Multiplatform.

🇪🇺Niezależny klient open-source tworzony przez osobę trzecią. Nie jest powiązany z Eurostatem ani z Komisją Europejską.

Przegląd wszystkich ośmiu modułów aplikacji EU Stats
18
zbiorów danych Eurostatu
8
modułów tematycznych
444
testów jednostkowych zdanych
AGPL-3.0
licencja open-source
Co robi aplikacja

Publiczne dane europejskie traktowane jak produkt pierwszej klasy.

Spokojny, redakcyjny interfejs. Buforowanie stale-while-revalidate. Rzeczywiste wywołania API, bez sztucznych danych. Zaprojektowana dla obywateli, dziennikarzy i studentów, którzy chcą poznawać europejskie statystyki bez uzależnienia od jednego dostawcy.

Dane z publicznego API

Wszystkie osiem modułów pobiera dane na żywo z oficjalnego API do udostępniania danych Eurostatu — łącznie 18 zbiorów. Zero sztucznych danych; żadnych demonstracyjnych baz danych.

Buforowanie stale-while-revalidate

Pamięć podręczna SQLDelight z TTL wynoszącym 12 godzin. Dane z cache renderują się natychmiast, odświeżanie sieciowe odbywa się w tle za spokojnym banerem informacyjnym, a tryb offline nigdy nie oznacza pustego ekranu.

Osiem modułów tematycznych

Gospodarka, populacja, środowisko, handel, transport, turystyka, społeczeństwo, nauka. Każdy moduł ma własny zbiór danych, własny przełącznik i charakterystyczny wykres dopasowany do kształtu danych.

Wykresy na czystym Compose Canvas

Osiem typów wykresów — liniowy, skumulowany słupkowy, piramida, heatmapa, rozbieżny słupkowy, radarowy, small multiples, wieloliniowy z podświetleniem — rysowanych na Compose Canvas bez żadnych zewnętrznych zależności renderowania.

Wieloplatformowy od pierwszego dnia

Telefon i tablet Android, iPhone i iPad oraz samodzielny plik .jar Compose Desktop dla macOS, Linux i Windows — wszystko z jednej wspólnej bazy kodu Kotlin.

Wybór roku na każdym ekranie

Niedawno dodana funkcja: wybierz dowolny historyczny rok, a nagłówek i kafelki statystyk zaktualizują się natychmiast — bez dodatkowych zapytań sieciowych. Wykres zachowuje pełną serię; rok steruje jedynie odczytem.

Osiem modułów

Otwórz kartę. Wybierz kraj. Przesuń rok.

Każdy moduł ma własny zbiór danych, własny przełącznik i charakterystyczny wykres dopasowany do kształtu danych. Opisy pochodzą wprost z README projektu.

Moduł Populacja — przeciągnij suwak roku, aby zmienić kształt piramidy

Populacja

demo_pjangroup · 18 grup wiekowych · M/K/O

Piramida demograficzna dla 18 grup wiekowych (pięcioletnie przedziały, Y_LT5 do Y_GE85). Nagłówek pokazuje łączną populację ze zmianą rok do roku. Trzypozycyjny przełącznik segmentowany (Ogółem / Mężczyźni / Kobiety) przygasza przeciwną stronę piramidy po wybraniu jednej płci. Suwak roku przewija dostępne lata; rząd chipów krajów zmienia aktywny kraj bez ponownego pobierania danych.

wykres piramidy suwak roku M/K/O segmentowany
Moduł Gospodarka — PKB, inflacja HICP i deficyt

Gospodarka

nama_10_gdp · prc_hicp_aind · gov_10dd_edpt1

Trzy wskaźniki makroekonomiczne — PKB w cenach bieżących (mld EUR), indeks inflacji HICP (2015 = 100) oraz saldo pożyczek netto/zadłużenia rządu jako % PKB — wyświetlane jako wielokrajowy wykres liniowy. Przełącznik segmentowany zmienia aktywną metrykę; dwie pozostałe metryki są widoczne jako przyciemnione kafelki drugorzędne. Podwójny suwak roku ogranicza zakres osi x; oddzielne menu rozwijane wybiera rok dla nagłówka.

wieloliniowy wykres przełącznik metryk podwójny suwak
Moduł Środowisko — GHG, energia i indeks klimatyczny SDG 13

Środowisko

env_air_gge · nrg_bal_c · sdg_13_10

Trzy zestawy danych klimatycznych dostępne przez menu rozwijane: emisje gazów cieplarnianych w Mt ekwiwalentu CO₂, końcowe zużycie energii w ktoe oraz indeks klimatyczny SDG 13 przy podstawie 1990 = 100. Gdy aktywna jest metryka GHG lub Energia, rząd chipów filtruje według sektora (OGÓŁEM / TRANSPORT / PRZEMYSŁ). Głównym elementem jest wykres liniowy porównujący aktywny kraj z jednym krajem porównywanym; dwa kafelki statystyk pokazują pozostałe dwie metryki dla wybranego roku.

menu metryk rząd chipów sektorów linia porównawcza
Moduł Handel — rozbieżne słupki dla eksportu, importu i salda

Handel

ext_lt_intratrd

Przepływy handlu towarami wewnątrz UE — eksport, import i saldo handlowe w mld EUR. Głównym elementem jest wykres słupkowy rozbieżny obejmujący osiem ostatnich lat, z eksportem rozciągającym się w prawo, a importem w lewo. Trzy zakładki z podkreśleniem (Eksport / Import / Saldo) podświetlają odpowiedni kierunek. Dwa kompaktowe kafelki statystyk pokazują dane aktywnego kraju dla wybranego roku.

rozbieżny wykres słupkowy zakładki z podkreśleniem menu roku
Moduł Transport — small multiples pasażerów drogowych i lotniczych

Transport

road_pa_buscoa · avia_paoc

Ruch pasażerski drogowy i lotniczy przedstawiony jako wykresy small multiples obok siebie. Dane drogowe (mld pasażerów) i lotnicze (mln pasażerów) są skalowane niezależnie w każdym panelu. Przełącznik kaflowy (DROGI / LOTNICTWO / WSZYSTKO) kontroluje widoczne panele. Przełącznik skali logarytmicznej kompresuje oś dla krajów o bardzo różnych wielkościach. Trzy kafelki statystyk podsumowują drogi, lotnictwo i kafelek „morze: n/d", który uczciwie wyjaśnia celowe wykluczenie zbioru danych opartego na portach.

small multiples przełącznik kaflowy skala logarytmiczna
Moduł Turystyka — skumulowane noclegi i heatmapa sezonowości

Turystyka

tour_occ_ninat · tour_occ_nim

Noclegi w obiektach zbiorowego zakwaterowania — krajowe, zagraniczne i łączne — wyświetlane jako skumulowany wykres słupkowy obejmujący dziewięć ostatnich lat. Rząd chipów kontroluje, która metryka napędza nagłówek. Pod słupkami skumulowanymi heatmapa sezonowości miesięcznej (komórki = miesiąc × rok) pokazuje rozkład noclegów w ciągu roku kalendarzowego.

słupki skumulowane rząd chipów heatmapa sezonowości
Moduł Społeczeństwo — kafelki KPI sterują podświetlonym wykresem liniowym

Społeczeństwo

ilc_li02 · ilc_peps01 · hlth_silc_01

Trzy procentowe wskaźniki dobrobytu z badań EU-SILC: stopa zagrożenia ubóstwem, wskaźnik zagrożenia ubóstwem lub wykluczeniem społecznym oraz odsetek populacji oceniający swój stan zdrowia jako bardzo dobry. Wszystkie trzy są wykreślane razem jako wieloliniowy wykres z podświetleniem; kliknięcie kafelka KPI przenosi nacisk na tę serię i aktualizuje wartość nagłówka.

wieloliniowy z podświetleniem selektor kafelków KPI suwak roku
Moduł Nauka — wykres radarowy dla B+R, użytkowania internetu i edukacji wyższej

Nauka

rd_e_gerdtot · isoc_ci_ifp_iu · edat_lfse_03

Trzy wskaźniki innowacyjności — nakłady na B+R jako % PKB, wskaźnik korzystania z internetu i udział osób z wyższym wykształceniem wśród osób w wieku 25–64 lata — wyświetlane jednocześnie na wykresie radarowym. Radar nakłada aktywny kraj na jeden kraj porównywany (preferowany jest DE, następnie FR, potem EU27). Trzy wykresy sparkline zawsze pokazują pełny trend. Brak przełącznika metryk — radar prezentuje wszystkie trzy osie naraz.

wykres radarowy nakładka porównawcza trzy sparklines
Pod maską

Konserwatywne, nudne wybory — celowo.

Czysta architektura w 17 modułach Gradle. Każda warstwa ma zapieczętowany kontrakt. Brak operatora !! gdziekolwiek; brak zewnętrznych bibliotek wykresów; brak wycieków dyspozytorów.

Architektura

  • Wielomodułowa czysta architektura — datadomainui
  • Kontrakty Result<T> · AppError · DispatcherProvider
  • Decompose do nawigacji, komponentów i cyklu życia
  • Koin do wstrzykiwania zależności
  • Wzorzec repozytorium stale-while-revalidate

Dane

  • Ktor Client — silnik Darwin na iOS, OkHttp na Android
  • kotlinx.serialization dla JSON i blobów cache
  • Schematy SQLDelight z typowanymi DAO
  • Własnoręcznie napisany parser JSON-stat 2.0 w core-jsonstat
  • Coroutines + Flow + StateFlow wszędzie

Interfejs

  • Compose Multiplatform — Android, iOS, Desktop
  • Tokeny designu object Euro — kolory, typografia, odstępy, kształty
  • ~25 wielokrotnego użytku composables w core-ui
  • Osiem typów wykresów na czystym Compose Canvas — bez Koalaplot
  • kotlin.test i Turbine do testów jednostkowych i przepływów
Trzy form factory

Telefon, tablet, komputer — ten sam kod Compose.

Dziennikarz przy komputerze, student z tabletem, obywatel z telefonem — te same dane, te same komponenty, to samo renderowanie. Wdrożone już na poziomie infrastruktury.

Android
Android telefon · tablet
iOS
iPhone · iPad
macOS · Linux · Windows
Compose Desktop

Jedna baza kodu Kotlin. Interfejs Compose Multiplatform. Natywne widżety na każdej platformie.

Plan rozwoju

Szczerzy co do tego, co działa, co jest dalej i co wymaga finansowania.

Projekt jest na Fazie 4: wszystkie osiem modułów wyświetla rzeczywiste dane na Androidzie. Faza 5 kończy powłokę — przegląd, selektor, ustawienia — a Faza 6 wycina pierwsze wydanie.

Dostępne dziś

Faza 4 · zweryfikowane
  • Osiem modułów tematycznych podłączonych do rzeczywistych danych Eurostatu
  • Buforowanie stale-while-revalidate · tryb offline przeżywa lot
  • Wybór roku w każdym module · nagłówek aktualizuje się bez ponownego pobierania
  • Osiem typów wykresów na czystym Compose Canvas
  • APK na Android składa się · Compose Desktop .jar działa na macOS/Linux/Windows
  • Opublikowany na licencji AGPL-3.0

Kolejny kamień milowy (M1)

Faza 5 · w trakcie
  • Ekran pulpitu przeglądowego — siatka kafelków powitalnych
  • Selektor kraju — przeszukiwalna lista i kliknięcie na mapie
  • Test dymny iOS w symulatorze · weryfikacja wszystkich ośmiu kart
  • Trwałość ustawień · motyw, domyślny kraj, język
  • Rzeczywiste renderowanie flag · dołączona czcionka Inter

Cele finansowania (M2 · M3)

Faza 6 · kandydat NLnet
  • Lokalizacja · tłumaczenia na polski i ukraiński
  • Natywne instalatory · .dmg, .msi, .deb, Flatpak
  • Porównywanie wielu krajów · nakładka lub small multiples
  • Wyszukiwanie modułowe · indeks wskaźników we wszystkich ośmiu modułach
  • Układy master-detail na szerokich ekranach dla tabletów i komputerów
Open source · interes publiczny

Budowany niezależnie. Opublikowany na AGPL-3.0.

Trwa badanie możliwości złożenia wniosku w otwartym konkursie NLnet w celu sfinansowania kolejnych kamieni milowych. Obywatele, dziennikarze i studenci powinni mieć możliwość eksplorowania publicznych danych europejskich bez uzależnienia od jednego dostawcy — na dowolnym urządzeniu, które już posiadają.

Przeczytaj plan rozwoju