Открытое приложение без рекламы для минималистичного расписания занятий студентов китайских вузов с импортом из учебных систем вузов.
joreilly/ClimateTraceKMP
Пример на Kotlin/Compose Multiplatform с данными Climate TRACE о выбросах по странам для iOS, Android, десктопа и веба.
- Звёзды
- 346
- Форки
- 23
- Открытые issues
- 8
- Последний коммит
- 4 часа назад
Что это?
ClimateTraceKMP — пример приложения на Kotlin Multiplatform, отображающего данные о выбросах парниковых газов по странам с climatetrace.org. Почти вся логика находится в общем модуле `composeApp`: слой данных, view model и интерфейс на Compose Multiplatform. Его используют приложения для Android, iOS и десктопа, а также веб-версия (Wasm). Клиент для iOS размещён в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose. При выборе страны открывается общий экран с подробными данными о выбросах, созданный на Compose. В проект также входит Kotlin Notebook для изучения тех же данных.
Помимо UI-клиентов, репозиторий предоставляет данные для программного использования. Модуль `mcp-server` использует Kotlin MCP SDK, чтобы предоставлять данные о выбросах для каждой страны в виде MCP tools, которые можно подключить к клиенту вроде Claude Desktop. В модуле `agents` находится агент на базе Google's Agent Development Kit for Kotlin, работающий как MCP-клиент: он подключается к `mcp-server` по Streamable HTTP и получает данные о выбросах в виде tools. Экран Agents внутри приложения использует Koog, чтобы запрашивать данные через LLM.
Среди используемых библиотек — Ktor, Koin, KStore, Voyager и KoalaPlot. Сборка выполняется Gradle-задачами для каждой целевой платформы. Сценарий UI-тестов Maestro общий для клиентов Android и iOS и запускается в CI на эмуляторе и симуляторе.
Ключевые возможности
- 01Общий слой данных на Kotlin, view model и интерфейс на Compose Multiplatform, используемые клиентами для Android, iOS, десктопа и веба (Wasm).
- 02Приложение для iOS размещено в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose.
- 03Модуль `mcp-server` на базе Kotlin MCP SDK предоставляет данные о выбросах для каждой страны в виде MCP tools для клиентов вроде Claude Desktop.
- 04Агент на базе ADK работает как MCP-клиент по Streamable HTTP; кроме того, в приложении есть экран Agents на Koog для запросов к LLM.
- 05Kotlin Notebook для изучения тех же данных о выбросах.
- 06Общий сценарий UI-тестов Maestro для клиентов Android и iOS, запускаемый в CI.
Сценарии использования
- Изучение того, как KMP-проект совместно использует данные, view model и Compose UI на мобильных устройствах, десктопе и в вебе.
- Передача данных о выбросах в LLM-ассистент или агент через MCP-сервер.
- Создание прототипов многоплатформенных клиентов на одной кодовой базе Kotlin.
- Интерактивное изучение данных о выбросах по странам в notebook.
Быстрый старт
- 1
Клонируйте репозиторий и откройте папку проекта
- 2
Запустите десктопное приложение с помощью Gradle
./gradlew :composeApp:run - 3
Запустите веб-приложение (Wasm) в браузере
./gradlew :composeApp:wasmJsBrowserDevelopmentRun
Что важно знать
- Для сборки и запуска клиента iOS требуется Xcode.
- Для работы функций ИИ-агента нужен ключ API Gemini.
В подборках
Темы
Частые вопросы
- Что такое ClimateTraceKMP?
- Пример на Kotlin/Compose Multiplatform с данными Climate TRACE о выбросах по странам для iOS, Android, десктопа и веба. ClimateTraceKMP — пример приложения на Kotlin Multiplatform, отображающего данные о выбросах парниковых газов по странам с climatetrace.org. Почти вся логика находится в общем модуле `composeApp`: слой данных, view model и интерфейс на Compose Multiplatform. Его используют приложения для Android, iOS и десктопа, а также веб-версия (Wasm). Клиент для iOS размещён в SwiftUI; экран со списком стран можно реализовать как на SwiftUI, так и на Compose. При выборе страны открывается общий экран с подробными данными о выбросах, созданный на Compose. В проект также входит Kotlin Notebook для изучения тех же данных.
- ClimateTraceKMP можно использовать бесплатно? Какая у него лицензия?
- ClimateTraceKMP распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ClimateTraceKMP всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ClimateTraceKMP — 7 нояб. 2026 г..
- Для чего можно использовать ClimateTraceKMP?
- Изучение того, как KMP-проект совместно использует данные, view model и Compose UI на мобильных устройствах, десктопе и в вебе. Передача данных о выбросах в LLM-ассистент или агент через MCP-сервер. Создание прототипов многоплатформенных клиентов на одной кодовой базе Kotlin. Интерактивное изучение данных о выбросах по странам в notebook.
- Как установить ClimateTraceKMP?
- Клонируйте репозиторий и откройте папку проекта Запустите десктопное приложение с помощью Gradle: ./gradlew :composeApp:run Запустите веб-приложение (Wasm) в браузере: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
- Где скачать ClimateTraceKMP?
- Исходный код и инструкции по установке — на GitHub: https://github.com/joreilly/ClimateTraceKMP
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Приложение для Android и iOS с сквозным шифрованием, приватными группами, историей местоположений, зонами приватности и уведомлениями о местах.
Локальный редактор для написания художественных текстов на Android, iOS, Windows, macOS и Linux с возможностью синхронизации через собственный или официальный сервер.
Кроссплатформенный магазин приложений, где можно находить и устанавливать программы, выпущенные на GitHub, Codeberg и других платформах Forgejo или Gitea.
Лёгкий фреймворк для внедрения зависимостей в Kotlin и Kotlin Multiplatform с Kotlin DSL и аннотациями JSR-330.
Библиотека календарей и Compose-компонентов для Android и Compose Multiplatform с режимами недели, месяца, года и тепловой карты.