Skip to content

schmidti159/songskipper

Repository files navigation

Songskipper

Skip songs on Spotify

Use Case

When playing random songs from artists, albums, playlists, etc. once in a while an unexpected live version or specific song interrupts the flow.

This application polls the currently playing song and skips it, if it matches a rule. Rules can be based on album, artist and/or song titles.

Demo

I am working on it. If you want to test the demo please send me a mail with the email address you use for Spotify, so I can add you as a test user.

It only works with premium accounts.

Screenshots

  • Currently Playing screen
    Currently Playing screen
  • Create new rule from track
    Create Rule
  • Rules screen
    Skip Rules
  • Playlog screen
    Playlog

Why does it exist

  • To skip songs I don't wan't to hear
  • To learn about technologies that I wanted to try ;-)

Development

Repo structure

  • The backend in songskipper-backend is a Spring Boot application (mainly written in Kotlin)
  • The frontend in songskipper-frontend is a React App using MaterialUI and Redux Toolkit with RTK query.
  • The communication between backend and frontend use REST endpoints under /api and websockets with STOMP
  • In the combined gradle build, the frontend is compiled with node as a standard react app and the generated files are added to the generated jar file of the backend as static resources.

Build

  1. Register the application at https://developer.spotify.com/ to get a client id and secret
  2. Copy the file songskipper-backend/src/main/resources/application-secrets.yml.template, remove the .template extension and enter your client id and secret
  3. Build it: ./gradlew build
  4. Run it: java -jar songskipper-backend/build/libs/songskipper-backend-0.0.1-SNAPSHOT.jar
  5. Open it in the browser: http://localhost:8080/

Development server for frontend

  1. Launch the backend (with java -jar ... or with ./gradlew bootRun).
  2. Launch the frontend as dev-server: /gradlew nodeStart or npm start from songskipper-frontend
  3. Open it in the browser: http://localhost:3000/

This version notices file changes and reloads the frontend when needed.

You might need to sign in by accessing the backend version directly.

License

Not yet decided. Please send me a message if you want to use it.

This is private project and is not related to Spotify.

About

Skip Songs on Spotify

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors