Demosic is a web-based local music streaming server which goal is to allows multiple-user to choose music from several sources (Local, Youtube, Spotify..). Given that, this project can have severals evolutions. It's bring to life thank's to the power of the Pheonix framework for the web interface combine with the Membrane Framework to manage a music player.
It's just a proof of concept right now so it's really limited and not ready to use. Actually, Demosic wait for DistilTube to be ready before going further.
- add admin user interface to manage user, authorization, local musics and other basics stuffs
- implement youtube source
- play/pause implementation through websockets
- bring membrane and youtube stream together
To initialate the project:
- Install dependencies with
mix deps.get
- Generate a secret key withe the command
mix guardian.gen.secret
to useGuardian
with jwt and copy it intodev.secret.exs
orprod.secret.exs
as this following example:
# Guardian secret_key
config :demosic, Demosic.Auth.Guardian,
issuer: 'demosic',
secret_key: "MY_AMAZING_SECRET_KEY"
To start your Phoenix server:
- Create and migrate your database with
mix ecto.create && mix ecto.migrate
- Install Node.js dependencies with
cd assets && npm install
orcd assets && yarn install
- Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000
from your browser.
Ready to run in production? Please check our deployment guides.