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

Bastは、クッキーやサードパーティのトラッキングサービスを使用せずに、基本的なトラフィックの洞察を必要とする小規模サイト向けのオープンソース・ウェブ解析アプリケーションです。プライバシーとシンプルさに重点を置いており、著者が個人利用のために構築し、後に友人が有用だと感じたため共有したプロジェクトであると説明されています。 重要なステータスに関する注意:READMEには、このプロジェクトはもうメンテナンスされていないことが明記されています。検討される方は、サポートされる製品としてではなく、読み取り専用のコードベース、フォークの出発点、またはリファレンス実装として扱う必要があります。 測定内容 メトリクスは、日を最小単位として経時的に保存されます。ページビューは匿名または識別されたビジターをカウントするため、3人のビジターがいれば3つのページビューが生成されます。各ページビューにはリファラーと現在のURLが記録されます。ユーザー数はクッキーなしで導き出されるユニークビジター数です。ビジターのIPアドレスとユーザーエージェントから識別子が構築され、ハッシュ化されてデータベースに保存されます。セッションは30分間の無操作後に新しく開始されるため、その時間枠内での繰り返し訪問は1つのセッションとしてカウントされます。平均滞在時間は、1セッションあたり5秒から30分の間にある場合にのみ記録されます。ユーザーエージェントの解析はwootheeライブラリによって処理され、ブラウザ名、OS、および関連詳細が出力されます。ジオロケーション(地理位置情報)は、要望はあるものの未実装の機能として言及されています。 アーキテクチャとスタック バックエンドはRustで記述されており、フレームワークにactix-web、PostgreSQL ORMにdieselを使用しています。フロントエンドは主に静的で、ReactとNext.jsで構築されており、インターフェースにはchakra-uiとカスタム構築のチャートが使用されています。PostgreSQLデータベースが必要です。 実行方法 READMEにはいくつかの方法が記載されています。UnixおよびOS/Xでは、postgres機能付きのdiesel CLIをインストールし、実行中のPostgreSQLインスタンスに対してdiesel setupを実行し、websiteフォルダ内でnpm installを使用してフロントエンドの依存関係をインストールします。Dockerによるルートも説明されており、docker-compose.ymlで環境変数をカスタマイズしてdocker-compose upを実行します。開発手順には、.env.sampleから.envファイルを作成し、オプションでcargo-watchを使用して編集中にAPIをリロードするか、それ以外の場合はcargo runを実行し、npm run devでフロントエンドを起動することが含まれています。最も簡単なデプロイオプションとしてHerokuのデプロイボタンが提供されています。READMEでは、実行中のアプリケーションのローカルポートは3333と記載されています。 貢献とコンテキスト READMEでは質問やプルリクエストを推奨しており、特に初心者やジュニア層を歓迎し、詳細はCONTRIBUTING.mdを参照するように案内しています。著者が読んだコードベースとしてFathomに謝意を表しており、クッキーを使用しないユーザー識別アプローチはJavaScriptプロジェクトであるAckeeから影響を受けたとしています。ここでの分類理由はコード言語だけではありません。ユーザーにとっての価値は、自身のインフラストラクチャにデプロイし、所有するウェブサイトのトラフィック解析を行える点にあります。