RedPanal / redpanal

RedPanal web
https://redpanal.org
GNU Affero General Public License v3.0
18 stars 9 forks source link
artists audio collaborative music

RedPanal

Somos una comunidad autogestiva libre, colaborativa, abierta y participativa. Nuestro principal objetivo es promover el uso de herramientas que nos permitan crear, remixar y compartir nuestras producciones. Para eso hemos desarrollado una plataforma diseñada para que lxs músicxs puedan interactuar y producir música de manera colaborativa. La URL de nuestro sitio es RedPanal.org

Workflow

Para colaborar podés instalarte el sitio en tu computadora, siguiendo los pasos de instalación descriptos más abajo, luego podés hacer las modificaciones y enviarlas para que las integremos en la plataforma on-line.

Para enviarlas podés hacer un pull-request, el cual será probado y subido on-line en la próxima release del sitio.

Para estar en contacto con nuestra comunidad de usuarios y desarrolladores, podés suscribirte a la siguiente lista de correo en la siguiente dirección: http://listas.usla.org.ar/cgi-bin/mailman/listinfo/redpanal

Instalación

En una terminal podés seguir los siguientes pasos, para poder tener el sitio de forma local:

0) Es necesario que tengas instalados los siguientes programas:

`sudo apt-get install virtualenv git ffmpeg libavcodec-extra`

1) Clonar el repositorio:

`git clone https://github.com/RedPanal/redpanal.git`

2) Crear virtualenv:

`virtualenv --python=python3 redpanal_venv`

3) Entrar en virtualenv:

`source redpanal_venv/bin/activate`

4) Instalar los requerimientos:

    cd redpanal

    pip install -r requirements.txt

5) Entrar al directorio redpanal y ejecutar:

    cd redpanal

    python manage.py makemigrations

    python manage.py migrate --fake-initial

    python manage.py runserver

6) Ingresar a http://127.0.0.1:8000 desde un navegador web para ver la versión local del sitio

Cómo colaborar

Nos organizamos colectivamente dentro de este repositorio de github a través de issues y pull requests. Cualquier tipo de colaboración es muy muy bienvenida :) Si querés participar pero no sabés por donde empezar podés mirar el listado de issues abiertos, además hay una etiqueta good-first-issue (https://github.com/RedPanal/redpanal/issues?q=is%3Aissue+is%3Aopen+label%3Agood-first-issue) donde están marcados algunos que pueden ser un buen punto de entrada al proyecto.

Licencia

El software está bajo licencia GNU Affero General Public License V3.0

API Docs

RedPanal cuenta con una API HTTP que permite, entre otras cosas, listar y subir audios usando JSON.

Listar y filtrar audios

Parámetros de la query permitidos: [user, genre, instrument, use_type, tag, positioned, page, page_size] El resultado está paginado, por defecto se muestra la primera página, equivalente a ?page=1&page_size=100.

Ejemplos:

Detalle de audio

Se puede acceder de dos formas al detalle de un audio:

Usando el id: GET /api/audio/{id}/: Información de un audio con un id específico.

Usando el slug: GET /api/audio/by-slug/{slug}/. El slug es el nombre que aparece en la URL, por ejemplo en este audio https://redpanal.org/a/guitarras-y-congas/ el slug es guitarras-y-congas.

Crear audio (subir)

POST /api/audio/

POST data:

Para crear un audio se debe estar logueado usando una sesión (con cookies) o usando Basic auth.

Ejemplo para subir un audio desde la terminal usando cURL:

$ curl -X POST -u myuser:mypassword -F "name=tracktest" -F "licence=CC-BY-SA-4.0" \
  -F "description=This is a test" -F "use_type=track" -F "genre=other" -F "instrument=other" \
  -F 'tags=["untag", "otrotag"]' -F "audio=@/path/to/the/audio.mp3" \
   https://redpanal.org/api/audio/