Skip to content

Backend to proxy Spotify's API and play with Keycloak, OAuth2 and OIDC.

License

Notifications You must be signed in to change notification settings

alxlenc/songfind

Repository files navigation

Songfind

build coverage License

Intro

This is a demo project used to practice and experiment with technologies while using a fun domain, music. It's 100% dependent on connectivity to Spotify's API and does have any persistence.

The topics that you can find on this repo are Spring Security, OAuth2 and OIDC, Keycloak, Spring Webflux, Hexagonal Architecture, Reactive caching with Redis and containerization.

The app has two layers of authentication. First it uses Keycloak as and identity provider but once you log in you need additional authentication with Spotify. The reason behind this is that, besides experimenting with Keycloak and OAuth2, I can host the application online without it being publicly accessible. This way I don't have to deal with regulations. What regulations? Well, think about how many cookie banners you have to close during the day...

This repo is only one piece in the tech stack. It is built automatically using a Tekton pipeline and deployed using a gitops approach with ArgoCD into an Istio service mesh. It also has a basic front built in Vue.js.

Want to see what I mean with all that? Take a look at the videos.

If you want to experiment with this repo you need to go to Spotify Developer Dashboard and create a Spotify application that would provide you with a client id and a client secret.


Key Features

At the moment music discoverabilty is the main feature.


Videos

Here are a some videos to showcase the tech stack and the development workflow.


License

License

About

Backend to proxy Spotify's API and play with Keycloak, OAuth2 and OIDC.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published