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-creatorgRPCserver for handling the create playlist requests. Requests and responses are sent throughRabbitMQbetween both the servers. -
Playlist-Creator (gRPC server)
The Playlist-Creator is a
gRPCserver which handles the create playlist request. The Request contains the list of track names and corresponding artists in the playlist. Service first fetches the topYoutubevideo 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.