Python/SQL によるログイン人数分析の実装

今回のアップデートでは、単なるリアルタイム情報の表示を超え、EVE Online の同時接続プレイヤー数(Concurrent Players)を「蓄積」し「分析」するための本格的なバックエンドとアナリティクス機能を導入しました。

Python (Flask) と SQLite によるデータ永続化

当初はブラウザ内での保存を検討していましたが、より長期的な傾向分析(1週間、1ヶ月単位)を実現するため、Python バックエンドを採用しました。Flask で軽量な API を構築し、SQL (SQLite) を用いてサーバー側にデータを安全に保存する仕組みを構築しました。

自動記録スクリプト「Recorder」

1時間ごとに EVE ESI API から自動的にプレイヤー数を取得し、データベースに保存し続けるスタンドアロンな記録スクリプト(recorder.py)を実装。これにより、ユーザーがアプリを閉じていてもデータの蓄積が途切れることはありません。

Chart.js を活用したダイナミックな視覚化

フロントエンドには Chart.js を導入。蓄積された SQL データから、24時間・1週間・1ヶ月のトレンドを即座にグラフ化します。また、期間中の最大・最小・平均プレイヤー数を自動計算し、インテリジェンスなダッシュボードを完成させました。

プレイヤー数分析ダッシュボード

SSO 認証の信頼性向上

開発の過程で発生した SSO リダイレクト URL の不一致問題についても、設定の厳格化とデバッグログの強化により解決。複数のキャラクターをシームレスに追加・管理できる基盤がより強固なものとなりました。