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

## 概要 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は、クラウド解析サービスに代わる、プライバシーに配慮したシンプルで直接的な代替手段を提供し、開発者がトラフィックデータを完全に制御できるようにします。