Datos de API pública real
Los ocho módulos muestran datos en vivo de la API oficial de difusión de Eurostat — 18 datasets en total. Sin mocks predefinidos; sin bases de datos de demostración.
Un cliente móvil y de escritorio de código abierto para la API pública de Eurostat. Ocho módulos temáticos — economía, población, medio ambiente, comercio, transporte, turismo, social, ciencia — sobre una única base de código Kotlin Multiplatform.
🇪🇺Cliente de código abierto independiente de terceros. No está afiliado a Eurostat ni a la Comisión Europea.
Interfaz editorial y discreta. Caché stale-while-revalidate. Llamadas API reales, sin mocks. Diseñado para ciudadanos, periodistas y estudiantes que quieren explorar estadísticas europeas sin depender de ningún proveedor concreto.
Los ocho módulos muestran datos en vivo de la API oficial de difusión de Eurostat — 18 datasets en total. Sin mocks predefinidos; sin bases de datos de demostración.
Caché SQLDelight con TTL de 12 horas. Los datos en caché se muestran al instante; la actualización de red ocurre en segundo plano con un banner discreto; el modo sin conexión nunca deja la pantalla en blanco.
Economía, Población, Medio ambiente, Comercio, Transporte, Turismo, Social, Ciencia. Cada uno gestiona su propio dataset, su selector y una gráfica característica adaptada a la forma de los datos.
Ocho tipos de gráfica — líneas, barras apiladas, pirámide, mapa de calor, barras divergentes, radar, small-multiples, multilínea destacado — dibujados sobre un Canvas de Compose sin dependencias de renderizado de terceros.
Teléfono y tablet Android, iPhone e iPad, y un .jar Compose Desktop autónomo para macOS, Linux y Windows — todo desde una única base de código Kotlin compartida.
Recién incorporado: elige cualquier año histórico y el titular con las estadísticas se actualiza al instante, sin ninguna petición de red. La gráfica conserva la serie completa; el año solo actualiza los valores en primer plano.
Cada módulo tiene su propio dataset, su selector y una gráfica característica adaptada a la forma de los datos. Las descripciones se toman directamente del README del proyecto.
Una pirámide demográfica con 18 cohortes de edad (bandas quinquenales, de Y_LT5 a Y_GE85). El titular muestra la población total con la variación interanual. Un control segmentado de tres opciones (Total / Hombres / Mujeres) atenúa el lado opuesto de la pirámide al seleccionar un sexo. Un control deslizante recorre los años disponibles; una fila de chips de países cambia el país activo sin hacer nuevas peticiones.
Tres indicadores macroeconómicos — PIB a precios corrientes (miles de millones de EUR), índice de inflación HICP (2015 = 100) y capacidad/necesidad de financiación de las administraciones públicas en % del PIB — mostrados como gráfica de líneas multipaís. Un control segmentado selecciona la métrica activa; las dos métricas inactivas permanecen visibles como fichas de estadísticas secundarias atenuadas. Un control deslizante de doble manilla recorta el rango temporal de la gráfica; un menú desplegable independiente elige el año para el titular.
Tres datasets climáticos seleccionables mediante un menú desplegable: emisiones de gases de efecto invernadero en Mt CO₂-eq, consumo final de energía en ktoe y el índice climático SDG 13 con base 1990 = 100. Cuando están activos GHG o Energía, una fila de chips filtra por sector (TOTAL / TRANSPORTE / INDUSTRIA). La gráfica principal es una línea que compara el país activo con un país de referencia; dos fichas de estadísticas muestran las otras dos métricas para el mismo año.
Flujos comerciales de bienes intra-UE — exportaciones, importaciones y saldo comercial en miles de millones de EUR. La gráfica principal es de barras divergentes que cubre los ocho años más recientes, con las exportaciones a la derecha y las importaciones a la izquierda. Tres pestañas subrayadas (Exportaciones / Importaciones / Saldo) destacan la dirección relevante. Dos fichas de estadísticas compactas muestran las cifras del país seleccionado para el año elegido.
Volúmenes de pasajeros por carretera y aéreos presentados como gráficas de líneas small-multiple en paralelo. Los datos de carretera (miles de millones de pasajeros) y aéreos (millones de pasajeros) tienen escala independiente por panel. Un toggle en pastilla (CARRETERA / AIRE / TODO) controla qué paneles son visibles. Un interruptor de escala logarítmica comprime el eje para países con magnitudes muy distintas. Tres fichas de estadísticas resumen carretera, aire y una ficha "mar: n/d" que explica honestamente la exclusión del dataset basado en puertos.
Pernoctaciones en alojamientos turísticos — nacionales, extranjeras y totales — representadas como gráfica de barras apiladas para los nueve años más recientes. Una fila de chips controla qué métrica guía el valor principal. Debajo de las barras apiladas, un mapa de calor de estacionalidad mensual (celdas = mes × año) muestra la distribución de pernoctaciones a lo largo del calendario.
Tres indicadores de bienestar en porcentaje extraídos de las encuestas EU-SILC: tasa de riesgo de pobreza, tasa de riesgo de pobreza o exclusión social y proporción de población que declara una salud autopercibida muy buena. Los tres se representan juntos en una gráfica multilínea destacada; tocar una ficha KPI desplaza el énfasis a esa serie y actualiza el valor principal.
Tres indicadores de innovación — gasto en I&D como % del PIB, tasa de uso de internet y nivel de educación terciaria entre 25–64 años — mostrados simultáneamente en una gráfica radar. El radar superpone el país activo a un país de referencia (con preferencia por DE, luego FR, luego EU27). Tres sparklines muestran siempre la tendencia completa. No hay selector de métrica; el radar presenta los tres ejes a la vez.
Clean Architecture distribuida en 17 módulos Gradle. Cada capa tiene un contrato sealed. Sin el operador !! en ningún sitio; sin gráficas de terceros; sin fugas de dispatcher.
data → domain → uiResult<T> · AppError · DispatcherProvidercore-jsonstatobject Euro — colores, tipografía, espaciado, formascore-uiCanvas Compose puro — sin KoalaplotUn periodista en el escritorio, un estudiante en la tablet, un ciudadano en el móvil — los mismos datos, los mismos componentes, el mismo renderizado. Ya implementado a nivel de infraestructura.
Una única base de código Kotlin. Interfaz Compose Multiplatform. Componentes nativos en cada plataforma.
El proyecto está en la Fase 4: los ocho módulos muestran datos reales en Android. La Fase 5 completa la estructura — vista general, selector de país, ajustes — y la Fase 6 publica la primera versión.
Canvas Compose puro
.jar Compose Desktop funcionando en macOS/Linux/Windows
.dmg, .msi, .deb, Flatpak
Actualmente en proceso de evaluación para una candidatura a la convocatoria abierta de NLnet, para financiar los próximos hitos. Ciudadanos, periodistas y estudiantes deberían poder explorar los datos públicos europeos sin depender de ningún proveedor concreto — en cualquier dispositivo que ya tengan.
Leer la roadmap