/rauversion-phx

Rauversion is an open source music platform

Primary LanguageElixirGNU Affero General Public License v3.0AGPL-3.0

Rauversion


image

.github/workflows/ci.yml

Rauversion is an open source music sharing platform.

Rauversion is built on Elixir with Phoenix framework.

** The elixir version is in maintenance mode, the official active development rauversion is the Rails version please see https://github.com/rauversion/rauversion-ror **

Features:

  • Account system with different providers, Twitter, Discord, Twitch.
  • Roles to open or closed communities.

Music publishing:

  • Audio processing to format mp3 and audio analisis to draw audio peaks.
  • Audio player, embeddable, with chunk range loading processing to save bandwidth.
  • Music publishing preferences, downloadable, private, attribution settings, like cretive commons , all right reserved.
  • Uploads for tracks, albums and playlists with their meta information.
  • Multi upload provider local or aws, other providers could be inmplemented.
  • Sellable tracks & albums with Stripe, for connected accounts or main account.
  • Tagging tracks, playlist & albums.

Music Listening:

  • Follow artists
  • Make playlists & reposts
  • Comments on tracks and albums.

Events:

  • Event scheduling
  • Host & managers
  • Ticketing service with QR validation
  • Sell event tickets via stripe or transbank (Chile).
  • Use Stripe connect to ease the payouts.
  • Streaming services via Twitch, Zoom, Whereby, Mux and Stream Yard.
  • Attendees event details.
  • Public page with ticket checkout for paid or free tickets.

Publishing magazine:

  • Articles managment publishing: Draft, Public, Listed and partially public.
  • Showcase articles in homepage.
  • Text editor based on Dante3
  • Cover image.
  • Article Categories.

setup

Rauversion is written in Elixir on top of the Phoenix Framework:

OTP 25 and elixir 1.13.4 and up is required

You can develop directly in a container with vscode devcontainer or neovim devcontainer

To start your Rauversion server:

  • Install dependencies with mix deps.get
  • rename .env.example to .env and add your variable configurations
  • Create and migrate your database with mix ecto.setup
  • Compile assets cd assets && yarn install & cd ..
  • Optionally create some fake accounts mix fake_accounts
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Generate fake accounts

iex -S mix fake_accounts

File preprocessing requirements:

  • Lame
  • FFMPEG
  • imagemagick

Credits

Flag rendering API:

image credits

Photo by Daniel Schludi on Unsplash

Photo by Hello I'm Nik on Unsplash

Photo by Etienne Girardet on Unsplash

Photo by Daniel Schludi on Unsplash

Photo by Dan-Cristian Pădureț on Unsplash

Photo by Gritt Zheng on Unsplash

Photo by Sai Harish on Unsplash

Foto de Denys Churchyn en Unsplash