このプロジェクトについて
## 概要
Data Relishは、PHPとMySQLバックエンドで構築されたオープンソースのセルフホスト型Web解析システムです。シンプルさを重視しており、1つの関数呼び出しでイベントを記録できます。ダッシュボードでは、Chart.jsを使用して日次ユニーク訪問者数、イベントの内訳、主要な国を表示します。サードパーティのサービスに依存せず、基本的なトラフィック分析を必要とする中小規模のWebサイトに適しています。
## 主な機能
- イベントログ:1行のPHP呼び出し「log_event("type", "target")」で訪問やカスタムイベントを記録。
- IPエンリッチメント:IPアドレスを国コードに変換する並列ルーチンにより、地理的なレポートが可能。
- ダッシュボード:日次ユニーク訪問者数、イベント分布、主要な国をインタラクティブなチャートで表示。
- セルフホスト:MySQLが利用可能なPHPサーバーで動作し、外部のSaaS依存関係はありません。
- パスワード保護:ダッシュボードはシンプルなパスワードチェック(?pass=...)で保護されています。
## インストールとセットアップ
1. データベース:data-relish.sqlをMySQLにインポートし、必要なテーブルを作成します。
2. 設定:log_event.phpとdashboard.phpの冒頭でデータベースの認証情報を編集します。
3. 実装:追跡したいページにlog_event.phpをインクルードし、log_event("event type", "event target");を呼び出します。
4. ダッシュボードへのアクセス:ブラウザでdashboard.php?pass=changemeを開き、ファイル内のデフォルトパスワードを変更します。
5. 国データ:ダッシュボードの「Enrich Country Data」ボタンをクリックするか、update_countries.phpを手動で実行して地理情報を反映させます。
## プロジェクト構成
- data-relish.sql:eventsテーブルのMySQLスキーマ。
- log_event.php:DB接続とlog_event関数を格納。
- dashboard.php:解析UIを生成し、Chart.jsでチャートを描画。
- update_countries.php:保存されたIPを国コードに解決するスクリプト。
## 使用例
include('log_event.php');
log_event('page_view', '/home');
上記のコードをページにデプロイすると、ダッシュボードの「Unique Visitors」および「Top Countries」に訪問データが表示されます。
## ライブデモ
開発者は自身のサイトでData Relishを運用しており、以下のURLからダッシュボードを確認できます。
https://zerovst.com/admin/data/stats.php?pass=jabberwocky!20o2
## 開発状況
本プロジェクトは現在も活発に開発中です。非クリティカルな環境でのテストや、プルリクエストによる改善への貢献を推奨しています。
## ライセンス
Data RelishはMITライセンスの下で公開されており、自由な使用、修正、配布が可能です。
---
Data Relishは、クラウド解析サービスに代わる、プライバシーに配慮したシンプルで直接的な代替手段を提供し、開発者がトラフィックデータを完全に制御できるようにします。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.