๐Ÿ’ฟ DiscDJ

What is it?

DiscDJ is not just another Discord music bot! DiscDJ makes you feel like youโ€™re at a party, where everyone can participate and puts up their biggest banger for the crowd to hear - how they react is a different question. DiscDJ allows users to:

  • Add songs to a song queue
  • Rate the song by up/downvoting/saving it
  • Earn server (in)dependent exp by listening to or adding songs


Why?

I was a huge fan of PlugDJ back when it still was a thing. IMO, the concept of queuing up to play a song for others to rate is great because users put out the absolute best songs they know in order to get a good rating. It is a win win situation: The crowd gets to discover great music and the djs can share their favorite music with other people!

I am also working on this project because making a Discord bot seems really interesting to me. Furthermore the bot will get deployed using Docker and Kubernetes to run the microservices as well as PostgresSQL and Redis for persistent and fast storage. Iโ€™ve never used Docker/Kubernetes/Redis before so this will be a great adventure.

Planned project structure

Tech stack:

Event driven microservice architecture:

  • Docker & Kubernetes
  • ๐ŸšŒ Azure Service Bus for communication
  • NodeJS
  • Persistent storage: Postgres SQL
  • Caching: Redis
  • Specification: Open API, Async API
  • Documentation:

Backend microservice structure:


Front end (bot) structure:

Problem: All Discord bot frameworks are monolithic, thus itโ€™s impossible to deploy them as a microservice. Therefore, I am planning to implement my bot without a framework. I will orient myself on this white paper.