Repolode
joreilly

joreilly/ClimateTraceKMP

Ejemplo de Kotlin/Compose Multiplatform que muestra datos de emisiones de Climate TRACE por país en iOS, Android, escritorio y web.

Estrellas
346
Forks
23
Issues abiertos
8
Último commit
hace 5 días

¿Qué es?

ClimateTraceKMP es una aplicación de ejemplo de Kotlin Multiplatform que muestra datos de emisiones de gases de efecto invernadero por país de climatetrace.org. Casi toda la lógica está en el módulo compartido `composeApp`: la capa de datos, los modelos de vista y la interfaz de Compose Multiplatform, que utilizan las aplicaciones de Android e iOS, un destino de escritorio y un destino web (Wasm). El cliente de iOS se aloja en SwiftUI y permite implementar la pantalla con la lista de países en SwiftUI o Compose; al seleccionar un país, se navega a la pantalla compartida de detalles de emisiones en Compose. También se incluye un Kotlin Notebook para explorar los mismos datos.

Además de los clientes de interfaz, el repositorio empaqueta los datos para su uso programático. El módulo `mcp-server` usa Kotlin MCP SDK para exponer los datos de emisiones por país como herramientas MCP, de modo que pueda conectarse a un cliente como Claude Desktop. El módulo `agents` contiene un agente creado con Agent Development Kit for Kotlin de Google que funciona como cliente MCP y se conecta a `mcp-server` mediante Streamable HTTP para obtener datos de emisiones como herramientas; una pantalla Agents integrada en la aplicación, creada con Koog, consulta los datos a través de un LLM.

Entre las bibliotecas complementarias se incluyen Ktor, Koin, KStore, Voyager y KoalaPlot. Las compilaciones se ejecutan mediante tareas de Gradle para cada destino, y los clientes de Android e iOS comparten un flujo de pruebas de interfaz de usuario de Maestro que se ejecuta en CI con un emulador y un simulador.

Funciones clave

  • 01Capa de datos en Kotlin, modelos de vista e interfaz de Compose Multiplatform compartidos y reutilizados por los clientes de Android, iOS, escritorio y web (Wasm).
  • 02Aplicación de iOS alojada en SwiftUI, cuya pantalla con la lista de países se puede implementar en SwiftUI o Compose.
  • 03Módulo `mcp-server` basado en Kotlin MCP SDK que expone datos de emisiones por país como herramientas MCP para clientes como Claude Desktop.
  • 04Agente basado en ADK que funciona como cliente MCP mediante Streamable HTTP, junto con una pantalla Agents integrada en la aplicación y creada con Koog para consultas a un LLM.
  • 05Kotlin Notebook para examinar los mismos datos de emisiones.
  • 06Flujo de pruebas de interfaz de usuario de Maestro compartido por los clientes de Android e iOS y ejecutado en CI.

Casos de uso

  • Estudiar cómo un proyecto KMP comparte datos, modelos de vista e interfaz de Compose entre móvil, escritorio y web.
  • Proporcionar datos de emisiones climáticas a un asistente o agente con LLM mediante el servidor MCP.
  • Crear prototipos de clientes multiplataforma a partir de una única base de código en Kotlin.
  • Explorar interactivamente datos de emisiones por país en un notebook.

Inicio rápido

  1. 1

    Clona el repositorio y abre la carpeta del proyecto

  2. 2

    Ejecuta la aplicación de escritorio con Gradle

    ./gradlew :composeApp:run
  3. 3

    Ejecuta la aplicación web (Wasm) en el navegador

    ./gradlew :composeApp:wasmJsBrowserDevelopmentRun

Antes de usarlo

  • Se necesita Xcode para compilar y ejecutar el cliente de iOS.
  • Las funciones del agente de IA requieren una clave de API de Gemini.

En colecciones

Temas

Preguntas frecuentes

¿Qué es ClimateTraceKMP?
Ejemplo de Kotlin/Compose Multiplatform que muestra datos de emisiones de Climate TRACE por país en iOS, Android, escritorio y web. ClimateTraceKMP es una aplicación de ejemplo de Kotlin Multiplatform que muestra datos de emisiones de gases de efecto invernadero por país de climatetrace.org. Casi toda la lógica está en el módulo compartido `composeApp`: la capa de datos, los modelos de vista y la interfaz de Compose Multiplatform, que utilizan las aplicaciones de Android e iOS, un destino de escritorio y un destino web (Wasm). El cliente de iOS se aloja en SwiftUI y permite implementar la pantalla con la lista de países en SwiftUI o Compose; al seleccionar un país, se navega a la pantalla compartida de detalles de emisiones en Compose. También se incluye un Kotlin Notebook para explorar los mismos datos.
¿ClimateTraceKMP es gratuito? ¿Qué licencia tiene?
ClimateTraceKMP es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ClimateTraceKMP sigue mantenido?
Mantenimiento activo. El último commit de ClimateTraceKMP fue el 2 nov 2026.
¿Para qué puedo usar ClimateTraceKMP?
Estudiar cómo un proyecto KMP comparte datos, modelos de vista e interfaz de Compose entre móvil, escritorio y web. Proporcionar datos de emisiones climáticas a un asistente o agente con LLM mediante el servidor MCP. Crear prototipos de clientes multiplataforma a partir de una única base de código en Kotlin. Explorar interactivamente datos de emisiones por país en un notebook.
¿Cómo se instala ClimateTraceKMP?
Clona el repositorio y abre la carpeta del proyecto Ejecuta la aplicación de escritorio con Gradle: ./gradlew :composeApp:run Ejecuta la aplicación web (Wasm) en el navegador: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
¿Dónde consigo ClimateTraceKMP?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/joreilly/ClimateTraceKMP

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados