myspoti
Jetpack Compose로 만든 Spotify 전용 안드로이드 클라이언트
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Find the shortest chain of collaborations linking any two music artists, like the Oracle of Bacon (Six Degrees of Kevin Bacon), but for music.
Live at oracleofmusic.app: currently covers the top 5,000 Spotify artists and everyone they've collaborated with.
Built with: Python · Flask · SQLAlchemy · PostgreSQL · Docker · Gunicorn · Nginx · vanilla JS/HTML/CSS · MusicBrainz · Spotify Web API
flowchart LR
A[MusicBrainz dump] --> B[(PostgreSQL)]
B --> C[Adjacency list]
C --> D[BFS]
D --> E[Spotify Web API]
E --> F[HTML/CSS Path]
Follow deploy_database/instructions.txt to start PostgreSQL in Docker and load the MusicBrainz data dump into it.
Create a .env file in the repo root:
| Variable | Description |
|---|---|
DATABASE_URL | SQLAlchemy URL for the MusicBrainz database, e.g. postgresql+psycopg://postgres:<password>@localhost:5432/musicbrainz |
SPOTIFY_CLIENT_ID | Spotify app client ID |
SPOTIFY_CLIENT_SECRET | Spotify app client secret |
ARTIST_NAMES_FILE_PATH | Text file with one artist name per line, most important first |
ARTISTS_TO_LOAD | How many names to read from that file. The app finds Paths between these artists and everyone they've collaborated with. The live site uses the top 5,000 Spotify artists. |
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cd app
gunicorn app:app # or: flask --app app run
The first start builds the collaboration graph and caches it in the database. Later starts reuse the cache.
The tests don't need a database or Spotify credentials:
pytest