このプロジェクトについて

Flarelyticsは、訪問者が個々のページに滞在する時間を追跡することを目的としたオープンソースのウェブ解析プラットフォームです。既存の多くの解析サービスにおけるプライバシー懸念や「ページ滞在時間」メトリクスの欠如に対処するために作成されました。 **主な機能** - 訪問者ごとに一意のUUIDを生成し、*open*および*close*イベントをバックエンドに送信するブラウザ側JavaScriptスニペット。 - TypeScriptで記述されたバックエンドで、Cloudflare Workers上で実行され、イベントの取り込みとダッシュボードクエリ用の最小限のHTTP APIを公開。 - イベントをデータベースに保存。プロジェクトは当初MongoDBを使用し、より良いスケーラビリティのためにPlanetScale/MySQLへの移行中。 - デプロイメントごとに1つのドメインのみをサポート(今後のマルチドメイン対応予定)。 - プライバシーファーストアプローチ:サードパーティ追跡なし、完全セルフホスト、EU規制に準拠。 **アーキテクチャ** 1. **ブラウザスクリプト**(`/analytics`):対象ウェブサイトに埋め込まれ、ページロード/アンロードイベントを記録し、それをWorkerに投稿。 2. **Cloudflare Worker**(`/src`):イベントを受け取り、データベースに書き込み、ダッシュボード用にデータを集約。 3. **データベース**:現在はMongoDB、関係性クエリと信頼性のためにPlanetScale(MySQL互換)への移行中。 **開発状況** - ブダペスト技術大学・経済大学のGoogle Developer Student Clubによって活発に開発中。 - まだ本番環境向けではありません。リポジトリには貢献ガイドラインと開発セットアップが含まれています。 **はじめに** - 無料のCloudflareおよびPlanetScaleアカウントを作成。 - Node.js(nvm推奨)をインストールし、`npm install`を実行。 - `.dev.vars`でシークレットを設定してローカルテスト、またはCloudflare UIで本番環境用に設定。 - `npm run dev`でローカルWorkersサーバーを起動。 **貢献方法** - GitHubリポジトリまたはプロジェクトボードから未解決の課題を選択。 - リポジトリをフォークし、開発セットアップに従ってプルリクエストをGitHubフローで提出。 **ライセンス** - GPLv3。 Flarelyticsは、外部解析プロバイダーに依存せずに、サイト所有者が読者のエンゲージメントを理解するためのシンプルでプライバシーを尊重する方法を提供することを目指しています。