A web app to find the shortest path between 2 popular Spotify artists using data collected from Spotify's "fans also listen to" feature and a breadth first search algorithm. You can view the live version here
- Six Degrees of Spotify consists of both a React
/client
and a Node.js/server
- Users interact with the UI to send requests to the server to compute their requested artist path
- Upon request, the server will generate an unweighted, bidirectional graph with 19,215 vertices (artists) and 205,907 edges (connections) from a
flat-file
- The data inside the flat-file was generated on 9/22/24 with a popularity minimum of 50 using code from
/server/data-scrapping
and theGET /v1/artists/{id}/related-artists
endpoint from the Spotify Web API - After building the graph, breadth first search is run to find the shortest path (smallest degree) between the 2 input artists
- Finally, the server sends the computed path to the client to be displayed
- Install Node.js here
- Clone the repo with
git clone https://github.com/RyanMcPherson7/six-degrees-of-spotify.git
- Open a new terminal session inside
/six-degrees-of-spotify
- Access the client directory with
cd client
- Install dependencies with
npm ci
- Start the client with
npm run start
- Open a new terminal session inside
/six-degrees-of-spotify
- Access the server directory with
cd server
- Install dependnecies with
npm ci
- Start the server with
npm run start
- You should see the app running on
localhost:3000
- 🎉 Congrats! The app is up and running!
- Install and run docker here
- Clone the repo with
git clone https://github.com/RyanMcPherson7/six-degrees-of-spotify.git
- Open a new terminal session inside
/six-degrees-of-spotify
- Build the image with
docker build . -t sixdos
- Start the container with
docker run -p 3000:5000 sixdos
- You should see the app running on
localhost:3000
- 🎉 Congrats! The app is up and running!