Open Pace — フェデレーテッドなフィットネストラッキング
概要
Open Paceは「自分の走行(マイル)を所有し、旅を共有する」ことを目指すオープンソースのフィットネストラッキングプロジェクトです。ActivityPubプロトコルに準拠することでフェディバース(fediverse)上の他サービス、例えばMastodonと相互にフォロー/共有が可能になります。バックエンドにはQuarkusやVert.xといったJava/Reactiveの技術スタックが採用されており、分散運用・高応答性・拡張性を念頭に置いた設計がされています。ユーザーは自分でインスタンスを立てるか信頼できる公開インスタンスを選び、データの所有権を保持しながらアクティビティの公開・共有ができます。
リポジトリの統計情報
- スター数: 9
- フォーク数: 0
- ウォッチャー数: 9
- コミット数: 8
- ファイル数: 9
- メインの言語: HTML
主な特徴
- ActivityPubベースのフェデレーション対応で、他のフェディバースサービスと連携可能
- Quarkus + Vert.x を活用したリアクティブ/モダンなサーバ設計
- ユーザーデータの所有と自己ホスティングを重視
- フィットネス活動(ラン・ライド等)の共有に特化したUXを想定
技術的なポイント
Open Paceはフェデレーテッドなフィットネスプラットフォームを実現するため、ActivityPubプロトコルを中心に据えた設計になっています。ActivityPubにより、アクティビティ(例:ランの記録)をActivityオブジェクトとして作成・配信し、フォロワーや外部サービスに伝搬できます。バックエンド技術としてQuarkusを採用する点は、軽量で起動が速くコンテナ環境に適した利点を活かすためと考えられます。またVert.xを組み合わせることで、イベント駆動かつ非同期I/Oに強い構成となり、多数の同時接続やリアルタイム性の高い更新処理に対応しやすくなります。
フロントエンドや公開UIはリポジトリのメイン言語がHTMLとなっていることから、静的なプロトタイプやシンプルなクライアントが含まれている可能性が高いです。フェデレーション実装ではユーザーアカウントのDiscovery、署名付きのサーバ間通信(HTTP署名やActivityPub固有の署名方式)、オブジェクトの検証・保存、受信した活動のルーティングといった要素が重要になります。自己ホスティングを想定しているため、設定や移行、データエクスポートの方針、APIの安定性やセキュリティポリシー(認証・権限・プライバシー設定)も設計上の注目点です。
小規模リポジトリでドキュメント(CONTRIBUTINGやIMPLEMENTATION_STRATEGY)が整備されている点は、開発プロセスや拡張方針が明確化されていることを示します。実運用を目指すには、スケーラビリティ(データベース設計、キュー、キャッシュ)、ActivityPub相互運用テスト、Mastodonなど既存フェディバースとの相互接続確認が次段階の課題となるでしょう。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- CONSISTENCY_CHECKLIST.md: file
- CONTRIBUTING.md: file
- IMPLEMENTATION_STRATEGY.md: file
- LICENSE: file
…他 4 ファイル
まとめ
フェデレーテッドでデータ所有を重視するフィットネストラッキングの有望なプロトタイプ。
リポジトリ情報:
- 名前: open-pace
- 説明: Own your miles, share your journey.
- スター数: 9
- 言語: HTML
- URL: https://github.com/myfear/open-pace
- オーナー: myfear
- アバター: https://avatars.githubusercontent.com/u/1358554?v=4
READMEの抜粋:
Open Pace: A Federated Strava Alternative
A federated fitness tracking platform built on ActivityPub, using Quarkus and Vert.x. Share your runs, rides, and activities across the fediverse while maintaining ownership of your data.
🎯 The Vision
Open Pace Logo
Open Pace is a federated alternative to Strava that:
- ✅ Lets you own your data (run your own instance or choose one you trust)
- ✅ Works with the fediverse (Mastodon users can follow your activities)
- ✅ Suppo…