중국 대학생을 위한 오픈소스·광고 없는 미니멀 시간표 앱으로, 교무처 시스템에서 시간표를 가져올 수 있습니다.
joreilly/ClimateTraceKMP
iOS, Android, 데스크톱, 웹에서 Climate TRACE 국가별 배출량 데이터를 보여 주는 Kotlin/Compose Multiplatform 샘플입니다.
- 스타
- 346
- 포크
- 23
- 열린 이슈
- 8
- 마지막 커밋
- 5일 전
어떤 프로젝트인가요?
ClimateTraceKMP는 climatetrace.org의 국가별 온실가스 배출량 데이터를 표시하는 Kotlin Multiplatform 샘플 애플리케이션입니다. 데이터 레이어, 뷰 모델, Compose Multiplatform UI 등 로직 대부분은 공유 `composeApp` 모듈에 있으며, Android 앱과 iOS 앱, 데스크톱 타깃, 웹(Wasm) 타깃에서 이를 사용합니다. iOS 클라이언트는 SwiftUI에서 실행되며, 국가 목록 화면을 SwiftUI나 Compose 중 하나로 구현할 수 있습니다. 국가를 선택하면 공유 Compose 배출량 상세 화면으로 이동합니다. 같은 데이터를 살펴볼 수 있는 Kotlin Notebook도 포함되어 있습니다.
UI 클라이언트 외에도 이 저장소는 프로그래밍 방식으로 사용할 수 있도록 데이터를 제공합니다. `mcp-server` 모듈은 Kotlin MCP SDK를 사용해 국가별 배출량 데이터를 MCP 도구로 제공하므로, Claude Desktop과 같은 클라이언트에 연결할 수 있습니다. `agents` 모듈에는 Google의 Agent Development Kit for Kotlin으로 만든 에이전트가 포함되어 있습니다. 이 에이전트는 MCP 클라이언트로 동작하며 Streamable HTTP를 통해 `mcp-server`에 연결해 도구로 배출량 데이터를 가져옵니다. Koog로 만든 앱 내 Agents 화면에서는 LLM을 통해 데이터를 조회합니다.
Ktor, Koin, KStore, Voyager, KoalaPlot 등의 라이브러리도 사용합니다. 각 타깃의 빌드는 Gradle 태스크로 실행하며, Android와 iOS 클라이언트가 Maestro UI 테스트 흐름을 공유합니다. 이 테스트는 CI에서 에뮬레이터와 시뮬레이터를 대상으로 실행됩니다.
핵심 기능
- 01Android, iOS, 데스크톱, 웹(Wasm) 클라이언트에서 재사용하는 공유 Kotlin 데이터 레이어, 뷰 모델, Compose Multiplatform UI.
- 02SwiftUI에서 실행되는 iOS 앱으로, 국가 목록 화면을 SwiftUI 또는 Compose로 구현할 수 있습니다.
- 03Kotlin MCP SDK를 기반으로 하며, Claude Desktop과 같은 클라이언트에 국가별 배출량 데이터를 MCP 도구로 제공하는 `mcp-server` 모듈.
- 04Streamable HTTP를 통해 MCP 클라이언트로 동작하는 ADK 기반 에이전트와, LLM 쿼리용으로 Koog를 사용해 만든 앱 내 Agents 화면.
- 05같은 배출량 데이터를 살펴볼 수 있는 Kotlin Notebook.
- 06Android와 iOS 클라이언트가 공유하며 CI에서 실행하는 Maestro UI 테스트 흐름.
활용 사례
- KMP 프로젝트에서 모바일, 데스크톱, 웹 간에 데이터와 뷰 모델, Compose UI를 공유하는 방법을 살펴보기.
- MCP 서버를 통해 기후 배출량 데이터를 LLM 어시스턴트나 에이전트에 전달하기.
- 단일 Kotlin 코드베이스로 멀티플랫폼 클라이언트 프로토타이핑하기.
- 노트북에서 국가별 배출량 데이터를 대화형으로 탐색하기.
빠른 시작
- 1
저장소를 클론하고 프로젝트 폴더를 엽니다
- 2
Gradle로 데스크톱 앱을 실행합니다
./gradlew :composeApp:run - 3
브라우저에서 웹(Wasm) 앱을 실행합니다
./gradlew :composeApp:wasmJsBrowserDevelopmentRun
사용 전 알아둘 점
- iOS 클라이언트를 빌드하고 실행하려면 Xcode가 필요합니다.
- AI 에이전트 기능을 사용하려면 Gemini API 키가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- ClimateTraceKMP은(는) 무엇인가요?
- iOS, Android, 데스크톱, 웹에서 Climate TRACE 국가별 배출량 데이터를 보여 주는 Kotlin/Compose Multiplatform 샘플입니다. ClimateTraceKMP는 climatetrace.org의 국가별 온실가스 배출량 데이터를 표시하는 Kotlin Multiplatform 샘플 애플리케이션입니다. 데이터 레이어, 뷰 모델, Compose Multiplatform UI 등 로직 대부분은 공유 `composeApp` 모듈에 있으며, Android 앱과 iOS 앱, 데스크톱 타깃, 웹(Wasm) 타깃에서 이를 사용합니다. iOS 클라이언트는 SwiftUI에서 실행되며, 국가 목록 화면을 SwiftUI나 Compose 중 하나로 구현할 수 있습니다. 국가를 선택하면 공유 Compose 배출량 상세 화면으로 이동합니다. 같은 데이터를 살펴볼 수 있는 Kotlin Notebook도 포함되어 있습니다.
- ClimateTraceKMP은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- ClimateTraceKMP은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- ClimateTraceKMP은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. ClimateTraceKMP의 마지막 커밋은 2026년 11월 2일입니다.
- ClimateTraceKMP은(는) 어디에 사용할 수 있나요?
- KMP 프로젝트에서 모바일, 데스크톱, 웹 간에 데이터와 뷰 모델, Compose UI를 공유하는 방법을 살펴보기. MCP 서버를 통해 기후 배출량 데이터를 LLM 어시스턴트나 에이전트에 전달하기. 단일 Kotlin 코드베이스로 멀티플랫폼 클라이언트 프로토타이핑하기. 노트북에서 국가별 배출량 데이터를 대화형으로 탐색하기.
- ClimateTraceKMP는 어떻게 설치하나요?
- 저장소를 클론하고 프로젝트 폴더를 엽니다 Gradle로 데스크톱 앱을 실행합니다: ./gradlew :composeApp:run 브라우저에서 웹(Wasm) 앱을 실행합니다: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
- ClimateTraceKMP은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/joreilly/ClimateTraceKMP
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Android와 iOS용 종단 간 암호화 위치 공유 앱으로, 비공개 그룹, 위치 기록, 프라이버시 구역, 장소 알림을 제공합니다.
Android, iOS, Windows, macOS, Linux에서 사용할 수 있는 로컬 우선 스토리 작성 에디터로, 자체 호스팅 또는 공식 동기화를 선택할 수 있습니다.
GitHub, Codeberg 및 기타 Forgejo 또는 Gitea 포지에서 공개된 앱을 찾아 설치할 수 있는 크로스 플랫폼 앱 스토어입니다.
Kotlin과 Kotlin Multiplatform을 위한 경량 의존성 주입 프레임워크로, Kotlin DSL과 JSR-330 어노테이션을 제공합니다.
주, 월, 연도 및 히트맵 모드를 지원하는 Android와 Compose Multiplatform용 고도로 사용자 지정 가능한 캘린더 뷰 및 Compose 라이브러리입니다.