Loops With Friends is a collaborative music-making web app built with Elixir/Phoenix, Elm, and the WebAudio API.
It supports up to seven users in a given "jam," in which each user gets their own music loop. Each user can start and stop their loop to make music in real time with the other users in the jam. The app automatically creates and balances additional jams as users join and leave.
See these blog posts for more on how it's built.
Install Elixir, Phoenix, and dependencies.
Clone and cd
into the repository.
git clone https://github.com/jeffcole/loops_with_friends.git
cd loops_with_friends
Install Elixir dependencies.
mix deps.get
Create and migrate the database.
mix ecto.create && mix ecto.migrate
Install asset dependencies.
npm install
Install Elm packages.
cd web/static/elm
../../../node_modules/.bin/elm-package install
cd ../../..
Run the server.
mix phoenix.server
Visit http://localhost:4000
in the browser.
Run the test suite with mix test
.
The loops used by the app are Apple Loops.
Copyright 2017 Jeff Cole. See LICENSE for more information.