All Projects → sgobotta → live_dj

sgobotta / live_dj

Licence: GPL-3.0 license
💿 Join or create video playlists to share a real-time experience with others! 🎧

Programming Languages

elixir
2628 projects
HTML
75241 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to live dj

Phoenix In Action
Code snippets and examples from the book Phoenix in Action from Manning and Geoffrey Lessel
Stars: ✭ 60 (+215.79%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
Awesome Phoenix
🔥 Collection of awesome open-source apps made with Phoenix Framework
Stars: ✭ 481 (+2431.58%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
Elixirbooks
List of Elixir books
Stars: ✭ 1,021 (+5273.68%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
pryin
PryIn is an Application Performance Monitoring platform for your Elixir/Phoenix application.
Stars: ✭ 25 (+31.58%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
Shorten api tutorial
🔗How to make a link shortener using Elixir, Phoenix and Mnesia
Stars: ✭ 60 (+215.79%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
Papercups
Open-source live customer chat
Stars: ✭ 4,554 (+23868.42%)
Mutual labels:  phoenix, elixir-phoenix, phoenix-framework
Phoenix Ecto Append Only Log Example
📝 A step-by-step example/tutorial showing how to build a Phoenix (Elixir) App where all data is immutable (append only). Precursor to Blockchain, IPFS or Solid!
Stars: ✭ 58 (+205.26%)
Mutual labels:  phoenix, elixir-phoenix
Drab
Remote controlled frontend framework for Phoenix.
Stars: ✭ 833 (+4284.21%)
Mutual labels:  phoenix, elixir-phoenix
Ecto morph
morph your Ecto capabilities into the s t r a t o s p h e r e !
Stars: ✭ 72 (+278.95%)
Mutual labels:  phoenix, elixir-phoenix
Elixir Companies
A list of companies currently using Elixir in production.
Stars: ✭ 1,475 (+7663.16%)
Mutual labels:  phoenix, phoenix-framework
Memento
Collect saved items from different sources around the web
Stars: ✭ 89 (+368.42%)
Mutual labels:  phoenix, phoenix-framework
Phoenix Liveview Counter Tutorial
🤯 beginners tutorial building a real time counter in Phoenix 1.5.5 + LiveView 0.14.7 ⚡️
Stars: ✭ 115 (+505.26%)
Mutual labels:  phoenix, phoenix-framework
Guardian auth
The Guardian Authentication Implementation Using Ecto/Postgresql Elixir Phoenix [ User Authentication ]
Stars: ✭ 15 (-21.05%)
Mutual labels:  phoenix, phoenix-framework
Phoenix And Elm
Example application using Elixir, Phoenix and Elm
Stars: ✭ 188 (+889.47%)
Mutual labels:  phoenix, phoenix-framework
Tune
A streamlined Spotify client and browser with a focus on performance and integrations.
Stars: ✭ 166 (+773.68%)
Mutual labels:  phoenix, phoenix-framework
Realtime
Listen to your to PostgreSQL database in realtime via websockets. Built with Elixir.
Stars: ✭ 4,278 (+22415.79%)
Mutual labels:  phoenix, phoenix-framework
Phoenixsharp
C# Phoenix Channels client. Unity Compatible.
Stars: ✭ 96 (+405.26%)
Mutual labels:  phoenix, phoenix-framework
pokerex client
Elm client for PokerEx project
Stars: ✭ 39 (+105.26%)
Mutual labels:  phoenix, phoenix-framework
React Phoenix
Make rendering React.js components in Phoenix easy
Stars: ✭ 426 (+2142.11%)
Mutual labels:  phoenix, phoenix-framework
Remote retro
Free, world-class retrospectives
Stars: ✭ 474 (+2394.74%)
Mutual labels:  phoenix, phoenix-framework

LiveDj logo

Synchronously share and discover music with people from around the world


Build Status Build Status Build Status Coverage Status License Contributor Covenant

About

LiveDj presents a collection of video playlists created by the community and for the community. It is designed to bring people together in the same creative and musical environment, where everyone can share the same musical experience in real time and synchrony.

Features

  • Create public rooms
  • Edit room management and permissions
  • Users registration
  • Search Youtube videos
  • Save current playlist
  • Add, remove and sort tracks in a playlist
  • Room chat
  • Notifications
  • Medals/awards system

Technical details

This application is developed under the Phoenix framework. Inspired by the React application great.dj, LiveDj let users connect to the same room and synchronously listen and watch the same video.

Users can optionally register using an email and choose a unique username. Anyone is allowed to create rooms or joined an existing one. At the moment rooms are public, meaning you can't watch videos privately since anyone can join the room you're in and listen to your playlist.

LiveDj embeds the YT API to create a video player that it's shared between connected users. The API lets LiveDj create reproduction controls, volume controls and a track queue.

Development

Requirements

Recommended editors and extensions

  • VSCode
  • VSCodium is the Free/Libre version of Visual Studio Code.
  • ElixirLS brings debugging support, static code analysis, formatting, code highlighting, among other features.
  • Elixir Linter (Credo) brings code formatting support, shows refactoring opportunities and promotes code style consistency.

Environment variables

Configure an .env file in the project root using the .env.example file as template. Then assign a proper value to each variable.

cp .env.example .env

Once you're done, follow the next steps to get a Phoenix server started:

  • Run make setup to get the whole environment ready. This will install client and server side dependencies, set up a database and populate it with fixture seeds.
  • Then you can start the Phoenix server with an interactive Elixir shell using make server
  • Now you can visit localhost:4000 from your browser.

This project uses Makefile to run most of the configurations. Type make to get a list of available commands.

Tests

  • Use make test to run all tests.
  • Use make test.wip to run only tests declared with @tag :wip. Tagging example.
  • Use make test.cover to get a coverage report.

Services

This project uses docker-compose to provide a PostgreSql and pgAdmin instances.

Postgres Database

Useful commands:

  • Use make reset to re-create the whole environment, including the database and get it populated with fixture seeds.
  • Use make ecto.setup to run migrations and fixtures only.

Postgres Admin

To log in use the credentials provided in the .env file:

  • PG_ADMIN_DEFAULT_EMAIL
  • PG_ADMIN_DEFAULT_PASSWORD.

After the services are up you can:

  • Visit localhost:5050 from your browser with the credentials provided in the .env file.
  • In the menu go to Object -> Create -> Server and make up a server name.
  • Then, in the Connection tab use main_db as host (this matches the services name declared in the docker-compose.yml file) and use the "Pg Admin" credentials in the .env file to gain access to the database.
  • You'll be able to dig into the dev and test database.

Contributing

Please make sure to read the Contributing Guide before making a pull request. If you have a Vue-related project/component/tool, add it with a pull request to this curated list!

License

GPL v3.0


</> with ❤️ from Buenos Aires, Argentina 🌎 as an Open Source project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].