PLAYREE
let's you to listen your spotify playlists without ads.
- User logins with their spotify account.
- Provides Spotify playlist link, which it wants to create.
- Spotify API fetches list of all tracks and corresponding artists.
- Youtube API searches for most relevant video and downloads in mp3 and uploads on S3/Minio.
- User listens to there playlist on Playree without any disturbance.
- Backend Languages: Golang
- Frontend Languages: JavaScript
- Database: PostgreSQL, Redis
- Message Broker: RabbitMQ
- Authentication: Spotify OAuth
- Session Management: Cookies and Sessions
- Microservices Communication: gRPC
- Object Storage: MinIO (S3-compatible)
-
Playree (web server)
Playree serves as the web server that
users interact with
. It is responsible for handling user requests to create new playlists from there spotify playlists or listening playlists. Playree communicates with playlist-creatorgRPC
server for handling the create playlist requests. Requests and responses are sent throughRabbitMQ
between both the servers. -
Playlist-Creator (gRPC server)
The Playlist-Creator is a
gRPC
server which handles the create playlist request. The Request contains the list of track names and corresponding artists in the playlist. Service first fetches the topYoutube
video relevant with the song name and artist, downloads it in mp3 and uploads it to S3/Minio in a separate folder and sends the response to Playree about the status.