Sobre el proyecto

YourSpotify es una aplicación autoalojada compuesta por un servidor web y un cliente web. El servidor consulta periódicamente la API web de Spotify para registrar la actividad de escucha del usuario, almacenando los datos en una base de datos MongoDB. La aplicación web presenta un panel para explorar estadísticas sobre los hábitos de escucha. El despliegue se realiza principalmente mediante Docker Compose, con tres servicios: el servidor (Go), el cliente web (React) y MongoDB. La configuración se maneja a través de variables de entorno, incluyendo credenciales de la API de Spotify (claves públicas y secretas), URLs de endpoints, zona horaria y autenticación opcional de Prometheus. Para usar la aplicación, los usuarios deben crear una aplicación de desarrollador de Spotify, configurar el URI de redirección (por ejemplo, http://localhost:8080/oauth/spotify/callback) y proporcionar las credenciales al servidor. El servidor maneja la autenticación OAuth y la renovación de tokens automáticamente. Los datos históricos de escucha se pueden importar desde las exportaciones de datos de privacidad de Spotify. Se admiten dos métodos de importación: datos de privacidad estándar (último año de historial, hasta 5 días para procesar) y datos de privacidad completos (historial completo de la cuenta, hasta 30 días). El proceso de importación utiliza caché para minimizar las solicitudes a la API de Spotify y se puede reintentar si se interrumpe. Las características incluyen configuraciones de zona horaria por usuario, control de registro (el administrador puede deshabilitar nuevos registros), reautenticación si se revoca el acceso a Spotify y configuración de CORS para frontends multi-origen. El proyecto incluye un endpoint de métricas de Prometheus y registro estructurado.