Bahcle Player is a music player that uses Twitch channel Rewards to add musics to a Playlist/Queue. A running version can be found here: https://bahcleplayer.yaon.fr/player.
The project leverages the following APIs:
- Twitch API to create Polls and subscriptions to channel events.
- Twitch EventSub to listen to channel events through websockets.
- Youtube API to retrieve videos metadata.
- Login with your Twitch account.
- Set up which channel Rewards you want to use and how (directly add to the queue or create a poll that needs to be validated) through the settings menu.
- Auto refund the channel points if the song is not found.
- Manage the queue and playlist (skip, remove, manually add songs).
- Customizable overlays to display the current song and the queue on your stream.
- React for the frontend.
- Shadcn for the UI components.
- Go for the backend.
- Gin for the backend Rest API.
- Gorilla Websocket for the API websocket connections.
- PostgreSQL for the database.
- Valkey to enable Pub/Sub patterns for the backend and to schedule tasks.
Coming soon... (Dockerfile and docker-compose.yml are available in the repository though)