Об этом проекте

YourSpotify — это самодельное приложение, состоящее из веб-сервера и веб-клиента. Сервер периодически опрашивает Spotify Web API для записи активности прослушивания пользователя, сохраняя данные в базе данных MongoDB. Веб-приложение представляет дашборд для изучения статистики привычек прослушивания. Развертывание в основном осуществляется через Docker Compose, с тремя сервисами: сервер (Go), веб-клиент (React) и MongoDB. Конфигурация обрабатывается через переменные окружения, включая учетные данные Spotify API (публичный и секретный ключи), URL-адреса конечных точек, часовой пояс и необязательную аутентификацию Prometheus. Чтобы использовать приложение, пользователи должны создать приложение Spotify Developer, настроить URI перенаправления (например, http://localhost:8080/oauth/spotify/callback) и предоставить учетные данные серверу. Сервер автоматически обрабатывает аутентификацию OAuth и обновление токенов. Исторические данные прослушивания можно импортировать из экспорта данных конфиденциальности Spotify. Поддерживаются два метода импорта: стандартные данные конфиденциальности (история за последний год, обработка до 5 дней) и полные данные конфиденциальности (вся история аккаунта, обработка до 30 дней). Процесс импорта использует кэширование для минимизации запросов к Spotify API и может быть повторен при прерывании. Функции включают настройки часового пояса для каждого пользователя, контроль регистрации (администратор может отключить новые регистрации), повторную аутентификацию при отзыве доступа Spotify и настройку CORS для фронтендов с несколькими источниками. Проект включает конечную точку метрик Prometheus и структурированное логирование.