Desarrollo de aplicación web con integración de sistema de control versiones y librerías de edición musical, para la creación de pistas musicales de forma grupal

 

Authors
Añasco Loor, José Emmanuel
Format
BachelorThesis
Status
publishedVersion
Description

The main purpose of this project is to implement the beta version of a web app for music collaboration. The app will work mainly as a social network, in which users will be able to share their audio tracks, called „loops‟, created via the online audio editor. Since the app is meant to be used online the loops must be created in the browser, this will be done through the Web Audio API which is the standard for manipulating sounds in any modern web browser. Other libraries will be created for wrapping the Web Audio API functionality. These libraries will enable the creation of notes and sequences of notes. A user will be able to create a copy of a loop under his user profile. The application will save changes made to the loop with the GIT version control system. The web application and the libraries will be developed with the Ruby programming language; these will communicate through the Volt framework. Volt can execute Ruby code both on the front-end and the back-end, enabling the creation of „isomorphic‟ applications. Under the hood, the app will compile the code to JavaScript when it is executed in the front-end. Unit and Integration tests will be created for minimizing the number of bugs in the development process. New features and fixes will be deployed trough continuous integration. For creating tests, The TDD approach will be followed. The app will be deployed to the Heroku Platform. Some of the advantages of this service are the straightforward deployment process and the plugins available.
Este proyecto tiene como objetivo principal implementar la primera versión de una aplicación web destinada a la colaboración musical. La aplicación funcionará principalmente como una red social que nos permitirá compartir y copiar pistas, llamadas „loops‟, creadas por medio de un editor de sonidos en línea. Al ser una aplicación web, necesariamente se tendrá que crear y reproducir los loops en el navegador. Para lograrlo se usará la librería de Web Audio API, la cual es estándar en todos los navegadores web en la actualidad. Sobre Web Audio API se crearán otras librerías de audio, las cuales implementarán abstracciones para la creación de notas musicales y la manipulación del API en general. El usuario podrá versionar „loops‟ de otros artistas, realizando una copia de este „loop‟ en su perfil. La aplicación usará el sistema de control de versiones GIT para almacenar la información referente a los cambios de cada „loop‟. Las librerías y la aplicación serán implementadas en su totalidad con el lenguaje de programación Ruby, las cuales interactuarán entre si gracias al marco de trabajo Volt. Este marco de trabajo permite la creación de aplicaciones „isomórficas‟, capaces de ejecutar código en un solo lenguaje tanto en el back-end como en el front-end de nuestra aplicación. Por debajo, la aplicación compilará el código a JavaScript para así ejecutarlo en el navegador. Con el objetivo de minimizar los errores en el desarrollo se crearán pruebas unitarias y de integración del proyecto. Los cambios en el código se los realizará siguiendo el proceso de integración continua. En la creación de pruebas se seguirá la práctica de desarrollo guiado por pruebas. Heroku será el servidor usado para desplegar la aplicación. Las ventajas de Heroku son: su integración con el lenguaje de programación Ruby, la facilidad de uso y los plugins incorporados en la plataforma, entre los que se incluyen servicios para realizar pruebas de rendimiento, entre otros servicios.

Publication Year
2016
Language
spa
Topic
APLICACIÓN WEB
PRODUCCIÓN MUSICAL
COMPOSICIÓN MUSICA
Repository
Repositorio Universidad de las Américas
Get full text
http://dspace.udla.edu.ec/handle/33000/6676
Rights
openAccess
License
openAccess