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

YourSpotifyは、WebサーバーとWebクライアントで構成されるセルフホスト型アプリケーションです。サーバーは定期的にSpotify Web APIをポーリングしてユーザーの視聴アクティビティを記録し、データをMongoDBデータベースに保存します。Webアプリケーションは、視聴習慣に関する統計を探索するためのダッシュボードを提供します。 デプロイは主にDocker Composeで行われ、サーバー(Go)、Webクライアント(React)、MongoDBの3つのサービスで構成されます。設定は、Spotify API認証情報(パブリックキーとシークレットキー)、エンドポイントURL、タイムゾーン、オプションのPrometheus認証などの環境変数を通じて処理されます。 アプリケーションを使用するには、ユーザーはSpotify Developerアプリケーションを作成し、リダイレクトURI(例:http://localhost:8080/oauth/spotify/callback)を設定し、認証情報をサーバーに提供する必要があります。サーバーはOAuth認証とトークンの更新を自動的に処理します。 過去の視聴データは、Spotifyのプライバシーデータエクスポートからインポートできます。2つのインポート方法がサポートされています:標準プライバシーデータ(過去1年間の履歴、処理に最大5日)とフルプライバシーデータ(アカウント全体の履歴、最大30日)。インポートプロセスではキャッシュを使用してSpotify APIリクエストを最小限に抑え、中断された場合は再試行できます。 機能には、ユーザーごとのタイムゾーン設定、登録制御(管理者は新規サインアップを無効にできます)、Spotifyアクセスが取り消された場合の再認証、マルチオリジンフロントエンド向けのCORS設定が含まれます。このプロジェクトにはPrometheusメトリクスエンドポイントと構造化ログが含まれています。