中国の大学生向けに、教務システムからの時間割インポートに対応した、オープンソースで広告なしのシンプルな時間割アプリ。
joreilly/ClimateTraceKMP
Climate TRACEの国別排出量データをiOS、Android、デスクトップ、Webで表示するKotlin/Compose Multiplatformのサンプル。
- スター
- 346
- フォーク
- 23
- 未解決の Issue
- 8
- 最終コミット
- 4 日前
これは何?
ClimateTraceKMPは、climatetrace.orgの温室効果ガス排出量を国別に表示するKotlin Multiplatformのサンプルアプリです。ロジックのほぼすべては、データレイヤー、ビューモデル、Compose Multiplatform UIを含む共有の`composeApp`モジュールにあり、Androidアプリ、iOSアプリ、デスクトップターゲット、Web(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、デスクトップ、Web(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テストフロー。
ユースケース
- モバイル、デスクトップ、Web間でデータ、ビューモデル、Compose UIを共有するKMPプロジェクトの構成を学ぶ。
- MCPサーバー経由で気候変動による排出量データをLLMアシスタントやエージェントに渡す。
- 単一のKotlinコードベースからマルチプラットフォームクライアントを試作する。
- Notebook上で国別の排出量データをインタラクティブに調べる。
クイックスタート
- 1
リポジトリをクローンして、プロジェクトフォルダーを開きます
- 2
Gradleでデスクトップアプリを実行します
./gradlew :composeApp:run - 3
ブラウザーでWeb(Wasm)アプリを実行します
./gradlew :composeApp:wasmJsBrowserDevelopmentRun
使う前に知っておきたいこと
- iOSクライアントのビルドと実行にはXcodeが必要です。
- AIエージェント機能を使うにはGemini APIキーが必要です。
収録されている特集
トピック
よくある質問
- ClimateTraceKMP とは?
- Climate TRACEの国別排出量データをiOS、Android、デスクトップ、Webで表示するKotlin/Compose Multiplatformのサンプル。 ClimateTraceKMPは、climatetrace.orgの温室効果ガス排出量を国別に表示するKotlin Multiplatformのサンプルアプリです。ロジックのほぼすべては、データレイヤー、ビューモデル、Compose Multiplatform UIを含む共有の`composeApp`モジュールにあり、Androidアプリ、iOSアプリ、デスクトップターゲット、Web(Wasm)ターゲットから利用されます。iOSクライアントはSwiftUI上で動作し、国一覧画面はSwiftUIまたはComposeのどちらでも実装できます。国を選択すると、共有Composeで実装された排出量詳細画面に遷移します。同じデータを調べるためのKotlin Notebookも含まれています。
- ClimateTraceKMP は無料で使えますか?ライセンスは?
- ClimateTraceKMP は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ClimateTraceKMP は今もメンテナンスされていますか?
- 活発にメンテナンス中。ClimateTraceKMP の最終コミットは 2026年11月2日 です。
- ClimateTraceKMP は何に使えますか?
- モバイル、デスクトップ、Web間でデータ、ビューモデル、Compose UIを共有するKMPプロジェクトの構成を学ぶ。 MCPサーバー経由で気候変動による排出量データをLLMアシスタントやエージェントに渡す。 単一のKotlinコードベースからマルチプラットフォームクライアントを試作する。 Notebook上で国別の排出量データをインタラクティブに調べる。
- ClimateTraceKMP のインストール方法は?
- リポジトリをクローンして、プロジェクトフォルダーを開きます Gradleでデスクトップアプリを実行します: ./gradlew :composeApp:run ブラウザーでWeb(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向けの高度にカスタマイズ可能なカレンダーUIライブラリ。週・月・年表示とヒートマップに対応します。