프로젝트 소개
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의 개인정보 데이터 내보내기에서 가져올 수 있습니다. 표준 개인정보 데이터(최근 1년 기록, 처리 최대 5일)와 전체 개인정보 데이터(계정 전체 기록, 처리 최대 30일)의 두 가지 가져오기 방법이 지원됩니다. 가져오기 프로세스는 Spotify API 요청을 최소화하기 위해 캐싱을 사용하며, 중단 시 재시도할 수 있습니다.
기능에는 사용자별 시간대 설정, 등록 제어(관리자가 새 가입 비활성화 가능), Spotify 액세스가 취소된 경우 재인증, 다중 출처 프론트엔드를 위한 CORS 구성이 포함됩니다. 프로젝트에는 Prometheus 메트릭 엔드포인트와 구조화된 로깅이 포함되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.