À propos du projet

YourSpotify est une application auto-hébergée composée d'un serveur web et d'un client web. Le serveur interroge périodiquement l'API Web Spotify pour enregistrer l'activité d'écoute de l'utilisateur, stockant les données dans une base de données MongoDB. L'application web présente un tableau de bord pour explorer les statistiques sur les habitudes d'écoute. Le déploiement se fait principalement via Docker Compose, avec trois services : le serveur (Go), le client web (React) et MongoDB. La configuration est gérée par des variables d'environnement, notamment les identifiants de l'API Spotify (clés publiques et secrètes), les URL des points de terminaison, le fuseau horaire et une authentification Prometheus facultative. Pour utiliser l'application, les utilisateurs doivent créer une application développeur Spotify, configurer l'URI de redirection (par exemple, http://localhost:8080/oauth/spotify/callback) et fournir les identifiants au serveur. Le serveur gère automatiquement l'authentification OAuth et le renouvellement des jetons. Les données d'historique d'écoute peuvent être importées à partir des exports de données de confidentialité de Spotify. Deux méthodes d'importation sont prises en charge : les données de confidentialité standard (dernière année d'historique, jusqu'à 5 jours de traitement) et les données de confidentialité complètes (historique complet du compte, jusqu'à 30 jours). Le processus d'importation utilise la mise en cache pour minimiser les requêtes à l'API Spotify et peut être relancé en cas d'interruption. Les fonctionnalités incluent des paramètres de fuseau horaire par utilisateur, un contrôle d'inscription (l'administrateur peut désactiver les nouvelles inscriptions), une ré-authentification si l'accès Spotify est révoqué, et une configuration CORS pour les frontends multi-origines. Le projet inclut un point de terminaison de métriques Prometheus et une documentation.