Repolode
joreilly

joreilly/ClimateTraceKMP

Exemplo com Kotlin/Compose Multiplatform que exibe dados de emissões da Climate TRACE por país no iOS, Android, desktop e web.

Estrelas
346
Forks
23
Issues abertas
8
Último commit
há 5 horas

O que é?

ClimateTraceKMP é um aplicativo de exemplo em Kotlin Multiplatform que exibe dados de emissões de gases de efeito estufa por país, obtidos de climatetrace.org. Quase toda a lógica fica no módulo compartilhado `composeApp` — camada de dados, view models e interface em Compose Multiplatform — usado pelos aplicativos Android e iOS, pelo destino desktop e pelo destino Web (Wasm). O cliente iOS é hospedado em SwiftUI e permite implementar a tela de lista de países em SwiftUI ou Compose; ao selecionar um país, o app navega para a tela compartilhada de detalhes das emissões em Compose. O projeto também inclui um Kotlin Notebook para explorar os mesmos dados.

Além dos clientes com interface, o repositório disponibiliza os dados para uso programático. O módulo `mcp-server` usa o Kotlin MCP SDK para expor dados de emissões por país como ferramentas MCP, que podem ser conectadas a um cliente como o Claude Desktop. O módulo `agents` contém um agente criado com o Agent Development Kit para Kotlin, do Google, que atua como cliente MCP e se conecta ao `mcp-server` via Streamable HTTP para buscar dados de emissões como ferramentas; uma tela Agents integrada ao app, criada com Koog, consulta os dados por meio de um LLM.

As bibliotecas de apoio incluem Ktor, Koin, KStore, Voyager e KoalaPlot. Os builds são executados por tarefas Gradle específicas para cada destino, e um fluxo de testes de UI do Maestro é compartilhado pelos clientes Android e iOS e executado na CI em um emulador e um simulador.

Recursos principais

  • 01Camada de dados, view models e interface em Compose Multiplatform compartilhados em Kotlin e reutilizados pelos clientes Android, iOS, desktop e Web (Wasm).
  • 02App iOS hospedado em SwiftUI, com a tela de lista de países implementável em SwiftUI ou Compose.
  • 03Módulo `mcp-server`, baseado no Kotlin MCP SDK, que expõe dados de emissões por país como ferramentas MCP para clientes como o Claude Desktop.
  • 04Agente baseado no ADK que atua como cliente MCP via Streamable HTTP, além de uma tela Agents integrada ao app, criada com Koog, para consultas a um LLM.
  • 05Kotlin Notebook para inspecionar os mesmos dados de emissões.
  • 06Fluxo de testes de UI do Maestro compartilhado pelos clientes Android e iOS e executado na CI.

Casos de uso

  • Estudar como um projeto KMP compartilha dados, view models e interface Compose entre dispositivos móveis, desktop e web.
  • Disponibilizar dados de emissões climáticas para um assistente ou agente com LLM por meio do servidor MCP.
  • Criar protótipos de clientes multiplataforma a partir de uma única base de código Kotlin.
  • Explorar dados de emissões por país de forma interativa em um notebook.

Início rápido

  1. 1

    Clone o repositório e abra a pasta do projeto

  2. 2

    Execute o aplicativo para desktop com Gradle

    ./gradlew :composeApp:run
  3. 3

    Execute o aplicativo web (Wasm) no navegador

    ./gradlew :composeApp:wasmJsBrowserDevelopmentRun

Antes de usar

  • O cliente iOS requer o Xcode para ser compilado e executado.
  • Os recursos do agente de IA precisam de uma chave da API do Gemini.

Em coleções

Tópicos

Perguntas frequentes

O que é ClimateTraceKMP?
Exemplo com Kotlin/Compose Multiplatform que exibe dados de emissões da Climate TRACE por país no iOS, Android, desktop e web. ClimateTraceKMP é um aplicativo de exemplo em Kotlin Multiplatform que exibe dados de emissões de gases de efeito estufa por país, obtidos de climatetrace.org. Quase toda a lógica fica no módulo compartilhado `composeApp` — camada de dados, view models e interface em Compose Multiplatform — usado pelos aplicativos Android e iOS, pelo destino desktop e pelo destino Web (Wasm). O cliente iOS é hospedado em SwiftUI e permite implementar a tela de lista de países em SwiftUI ou Compose; ao selecionar um país, o app navega para a tela compartilhada de detalhes das emissões em Compose. O projeto também inclui um Kotlin Notebook para explorar os mesmos dados.
ClimateTraceKMP é gratuito? Qual é a licença?
ClimateTraceKMP é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
ClimateTraceKMP ainda é mantido?
Manutenção ativa. O último commit de ClimateTraceKMP foi em 7 de nov. de 2026.
Para que posso usar ClimateTraceKMP?
Estudar como um projeto KMP compartilha dados, view models e interface Compose entre dispositivos móveis, desktop e web. Disponibilizar dados de emissões climáticas para um assistente ou agente com LLM por meio do servidor MCP. Criar protótipos de clientes multiplataforma a partir de uma única base de código Kotlin. Explorar dados de emissões por país de forma interativa em um notebook.
Como instalar ClimateTraceKMP?
Clone o repositório e abra a pasta do projeto Execute o aplicativo para desktop com Gradle: ./gradlew :composeApp:run Execute o aplicativo web (Wasm) no navegador: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
Onde consigo ClimateTraceKMP?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/joreilly/ClimateTraceKMP

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados