A simple music player api that allows you to created user accounts, upload music files and create playlists around those music files.
I've decided to create this project around Reactive programming with spring boot by using the functional endpoint approach given by WebFlux, not only that, but with Kotlin in mind, thanks to coroutine support
Reactive programming may be an overkill for a project like this, but it was something I wanted to try for a long time just to see how different it could be from a MVC Spring boot application
- Crud options user accounts
- Crud options for Songs
- Crud options for PlayList
- Jwt based authentication (Asymmetric key signed)
- Google Oauth2 login / registration
- Kotlin
- Spring boot (WebFlux)
- MongoDb
Requirements:
- Java 17
- Docker
- A Google Cloud Oauth2 client (add credentials on application-local.yml and application-docker.yml)
- two folders where to store audio files and images (add those paths to application-local.yml and application-docker.yml)
With that done, run:
./gradlew build
Once the project has been compiled successfully, run:
docker-compose up
Well you're done, happy hacking <3!