>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Python

Garmin、Apple Health、Whoopのデータ収集をシンプルにまとめる方法

想像してみてください:フィットネストラッカーやバイオハッキングアプリの構築を決意したと。そして「楽しさ」が始まります。Garminとの統合には、そのAPIとの格闘が必要です。Apple HealthではiOS用のネイティブコードを記述する必要があります。Google Health ConnectではAndroid用です。結局、クールな機能を構築する代わりに、OAuth認証、別のJSONフォーマット、マイルからキロメートルへの変換に6ヶ月を費やすことになります。

Open Wearablesプロジェクトは、この問題に根本的に取り組んでいます。チームは、ウェアラブルデバイスとの複雑な統合作業をすべて処理するオープンソースプラットフォームを構築しています。単一の統一されたAPIが手に入り、すべてのベンダーの複雑さは内部に隠蔽されます。

既成のSDKがあるのに、なぜこれなのか

通常、開発者は2つの道のりのどちらかを選びます:自分で統合を構築するか、TerraやRookのようなクラウドアグリゲーターに支払うかです。最初のオプションは維持コストが高く遅いものです。2番目は外部サービスへの依存とユーザーごとの月額料金が発生します。

Open Wearablesは3番目の道を提供します:自己ホスティングソリューションです。プラットフォームを自有のサーバーにデプロイし、データは手元に残り、料金もかかりません。さらに、このプロジェクトは単にデータを通過させるだけでなく、統一された標準に正規化します。心拍数がSuuntoウォッチから来てもOuraリングから来ても、あなたのバックエンドでは同一に見えます。

プラットフォームの現在の機能

プロジェクトはまだ初期段階ですが、基本的な骨組みはすでにかなり機能的です。今すぐ試せることは以下の通りです:

  • 統一された開発者ダッシュボード。Dockerで起動すると、ユーザーの管理、APIキーの生成、データ同期ステータスの監視ができる管理パネルが得られます。
  • готовые承認フロー。プラットフォームはGarmin、Polar、SuuntoとのOAuthダンスを処理します。ユーザーのためにリンクを生成するだけで、ユーザーはプロバイダーでログインし、データがあなたのデータベースに流れ込みます。
  • モバイルSDK。電話で直接データを取り扱う人のために、iOS(Swift)、Android(Kotlin)、甚至はFlutterラッパー用のネイティブライブラリがあります。これはApple Healthに重要です,苹果のデータはクラウドリクエストで単純にフェッチできないからです。
  • バックグラウンド同期。これはFastAPIとCeleryで処理されます。システムは自動的にプロバイダーをポーリングし、アクティビティとワークアウトの指標を更新します。

技術スタックとアーキテクチャ

開発者は車輪の再発明をせず、実績のあるツールでプロジェクトを構築しました。バックエンドはFastAPIで書かれています—最新のPythonサービスの標準で、高速で、起動直後から優れたSwagger自動ドキュメントがあります。

データストレージにはPostgreSQL、タスクキューとキャッシュにはRedisが使用されています。管理パネルフロントエンドはTanStack Routerを使用したReactで構築されています。興味深い点として、作者たちはプラットフォームがシングルテナントとして設計されていることを強調しています。これは、1つのインスタンスが1つの組織にサービスを提供することを意味します。単一のデータベース内で異なる企業間のアクセス権分離という余分な複雑さはありません。

AI機能:今後の計画

ロードマップで最も興味深いのはHealth Insightsです。開発者は自然言語ベースの自動化レイヤーを追加する予定です。アイデアは、テキストで条件を書けるということです:「ユーザーの安静時心拍数が3日間で20%増加した場合は、webhookを送信する」。システムはこれを自分で解釈してトリガーを設定します。

また、AI Health Assistantも約束されています—アプリに埋め込めるチャットウィジェットです。ユーザーは「今週の睡眠は先週とどうでしたか?」と質問でき、AIはOpen Wearablesデータベースから蓄積されたデータを分析します。

起動とテストの方法

Dockerがインストール되어 있으면 literally数分でプロジェクトをスピンアップできます。手順は簡単です:

  1. リポジトリをクローンします:
    git clone https://github.com/the-momentum/open-wearables.git
    cd open-wearables
    
  2. 設定ファイルの例をコピーします:
    cp ./backend/config/.env.example ./backend/config/.env
    cp ./frontend/.env.example ./frontend/.env
    
  3. 起動します:
    docker compose up -d
    

その後、ポータルはポート3000で開き、APIは8000で開きます。テスト用の実際のデバイスを探す手間を省くには、コマンドmake seedを実行できます。これにより、データベースに偽のユーザーとワークアウトが入力されます。

誰が注目すべきか

Open Wearablesは、ヘルス&フィットネスのスタートアップにとって素晴らしい発見です。法人向けウェルネスポータル、コーチングアプリ、または異なるデバイスからデータを収集する必要がある研究プロジェクトを構築している場合、これは数百時間の開発時間を節約します。

もちろん、プロジェクトはまだ若く(1.0以前のバージョン)、APIは変更される可能性があります。しかし、オープンソースのコードと自己ホスティングの機能はこれらのリスクを上回ります。ユーザーの機密医療データをサードパーティの専有サービスに引き渡したくない場合、このツールは現在この種のタスクに対してオープンソースで入手可能な最良のものだと思います。

ちなみに、チームにはメンテナーと直接チャットできるアクティブなDiscordコミュニティがあります。実装を決意した場合は、ぜひチェックしてください。かなり迅速に返答してくれます。

関連プロジェクト