Automated creation of Spotify playlists based on your recent top tracks. Check it out at https://spautofy.herokuapp.com.
- go
- docker, docker-compose
- Create a .env file in the root directory containing the following environment variables:
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
SENDGRID_API_KEY=
SENDGRID_SENDER_NAME=
SENDGRID_SENDER_EMAIL=
SENDGRID_TEMPLATE_ID=
- Start auxiliary containers:
make dependencies
- Run the Spautofy server:
make
- Access it at http://localhost:8080
You can also start all services directly via a single command:
docker-compose up
The following endpoints are available on the metrics server at http://localhost:9090:
/metrics # view HTTP server metrics
/health # view liveness and readiness
/crons # view all currently scheduled crons
Spautofy is automatically deployed to Heroku on push to master, after Continuous Integration checks have all passed. Any pre-deployment tasks, such as database migrations, are ran as part of the deployment process using Heroku's release phase.
Heroku resources are provisioned via Terraform located in deployment/terraform.
cron-job.org is used to ping the Spautofy server every day at midnight to wake the scheduler for executing cronjobs.