App de horários de aula minimalista, sem anúncios e de código aberto para estudantes de universidades chinesas, com importação de horários dos sistemas acadêmicos.
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
Clone o repositório e abra a pasta do projeto
- 2
Execute o aplicativo para desktop com Gradle
./gradlew :composeApp:run - 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
App de compartilhamento de localização com criptografia de ponta a ponta para Android e iOS, com grupos privados, histórico de localização, zonas de privacidade e alertas de locais.
Editor de escrita de histórias local-first para Android, iOS, Windows, macOS e Linux, com sincronização opcional por servidor próprio ou oficial.
Uma loja de aplicativos multiplataforma para descobrir e instalar apps lançados no GitHub, Codeberg e em outros servidores Forgejo ou Gitea.
Framework leve de injeção de dependências para Kotlin e Kotlin Multiplatform, com DSL em Kotlin e anotações JSR-330.
Biblioteca altamente personalizável de calendário e Compose para Android e Compose Multiplatform, com modos de semana, mês, ano e mapa de calor.