In this project, we aimed to create a web application capable of providing analytics and statistics on music streaming via Spotify. The project is composed of a back-end and a front-end element that allows users to link their Spotify account and view their listening statistics. The back-end consists of a distributed system designed to process and store all the relevant information.
Our project requires docker
and docker-compose
This project is using the Spotify API so you will need a Spotify API Client ID and Token. You can request your token here
Add the environment variables to the .env
file, you can find a template in .env.example
###### Spotify variables ######
SPOTIFY_CLIENT_ID=''
SPOTIFY_CLIENT_SECRET=''
SPOTIFY_REDIRECT_URI='http://localhost/auth/spotify/callback'
###### Cassandra variables ######
CASSANDRA_USER='cassandra'
CASSANDRA_PASSWORD='cassandra'
Keep in mind that it will take more than three minutes
bash build.sh
To create your docker containers for both backend and distributed spark processing run the following code
bash create.sh
Please note that Cassandra may take a while to start up, so wait a few seconds between commands
bash setup.sh
bash start.sh
To view the web application open the browser to http://localhost and register your account
bash generate-data.sh