Sobre o projeto

YourSpotify é uma aplicação auto-hospedada composta por um servidor web e um cliente web. O servidor consulta periodicamente a API Web do Spotify para registrar a atividade de escuta do usuário, armazenando os dados em um banco de dados MongoDB. A aplicação web apresenta um painel para explorar estatísticas sobre hábitos de escuta. A implantação é feita principalmente via Docker Compose, com três serviços: o servidor (Go), o cliente web (React) e o MongoDB. A configuração é feita por meio de variáveis de ambiente, incluindo credenciais da API do Spotify (chaves pública e secreta), URLs de endpoint, fuso horário e autenticação opcional do Prometheus. Para usar a aplicação, os usuários devem criar uma aplicação de desenvolvedor do Spotify, configurar a URI de redirecionamento (por exemplo, http://localhost:8080/oauth/spotify/callback) e fornecer as credenciais ao servidor. O servidor lida com a autenticação OAuth e a renovação de tokens automaticamente. Dados históricos de escuta podem ser importados das exportações de dados de privacidade do Spotify. Dois métodos de importação são suportados: dados de privacidade padrão (último ano de histórico, até 5 dias para processar) e dados de privacidade completos (todo o histórico da conta, até 30 dias). O processo de importação usa cache para minimizar as solicitações à API do Spotify e pode ser repetido se for interrompido. Os recursos incluem configurações de fuso horário por usuário, controle de registro (o administrador pode desativar novos cadastros), reautenticação se o acesso ao Spotify for revogado e configuração de CORS para frontends de múltiplas origens. O projeto inclui um endpoint de métricas do Prometheus e registro estruturado de logs.