Catálogo de requisitos ¶
R1 | Requisitos como incidencias |
---|---|
Descripción | Requisitos perfectamente definidos y convertidos en incidencias (issues) de GitHub. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 1 |
R2 | Código fuente |
---|---|
Descripción | Código fuente publicado en GitHub. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 2 |
R3 | Estilo del código |
---|---|
Descripción | Estilo del código según las normas internas de Yii2 para el código y para las plantillas de las vistas. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 3 |
R4 | Tres lanzamientos |
---|---|
Descripción | Tres lanzamientos (releases) etiquetados en el repositorio como v1, v2 y v3. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 4 |
R5 | README.md |
---|---|
Descripción | README.md en el directorio raíz con la descripción principal del proyecto. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 5 |
R6 | Documentación |
---|---|
Descripción | Documentación generada con yii2-apidoc y publicada en GitHub Pages a partir del contenido del directorio /docs: - Contenido: - Guía general. - API. - Formato: GitHub flavored Markdown (fuente) y HTML (resultado). - Usar make docs para crear la documentación. - Opcional: conversión a PDF. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 6 |
R7 | Incidencias en GitHub |
---|---|
Descripción | Administración y resolución de todas las incidencias notificadas en GitHub. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 7 |
R8 | Etiquetas e hitos |
---|---|
Descripción | Usar etiquetas e hitos: - Etiquetas: mínimo, importante, opcional (además de las ya existentes). - Hitos: v1, v2, v3 (con fechas de entrega aproximadas). |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 8 |
R9 | Rama master |
---|---|
Descripción | La rama master debe reflejar en todo momento el estado más estable de la aplicación, de manera que: - La rama master no debe contener bugs conocidos. - El desarrollo deberá hacerse en otras ramas creadas a tal efecto (una distinta por cada funcionalidad) y se irán combinado con la master una vez que se haya implementado la funcionalidad correspondiente. - La release actual en Heroku corresponderá siempre con el último commit de la rama master (usar los deploys automáticos de Heroku conectando la aplicación de Heroku con la rama master de GitHub). |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 9 |
R10 | Gestión del proyecto |
---|---|
Descripción | Usar Waffle o similar para la gestión general del proyecto. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 10 |
R11 | Final de cada iteración |
---|---|
Descripción | Al final de cada iteración: - Se realiza el lanzamiento que toque (v1, v2 o v3), etiquetando el commit correspondiente con el hito adecuado. - Se actualiza y publica la documentación. - Al final del Proyecto, se tiene que cumplir lo siguiente: - Todas las incidencias cerradas con su debida justificación. - En el backlog sólo pueden quedar tarjetas con prioridad opcional. - El lanzamiento v3 desplegado en la nube. - La documentación correctamente actualizada y publicada. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 11 |
R12 | Validación de formularios |
---|---|
Descripción | Validación de los campos de los formularios. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 12 |
R13 | Gestión de ventanas |
---|---|
Descripción | Gestión de ventanas. Gestión de la apariencia de las ventanas. Creación de nuevas ventanas y comunicación entre ventanas. (Opcional) |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 13 |
R14 | Manejo de eventos |
---|---|
Descripción | Interactividad a través de mecanismos de manejo de eventos intuitivos y eficaces. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 14 |
R15 | DOM |
---|---|
Descripción | Uso y manipulación de las características del modelo de objetos del documento (DOM). |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 15 |
R16 | Almacenamiento en el lado del cliente |
---|---|
Descripción | Uso de mecanismos de almacenamiento en el lado del cliente. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 16 |
R17 | jQuery, jQuery UI |
---|---|
Descripción | Uso de la librería jQuery, jQuery UI. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 17 |
R18 | Plugin no trabajado en clase |
---|---|
Descripción | Incluir al menos un plugin no trabajado en clase. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 18 |
R19 | Utilización de AJAX |
---|---|
Descripción | Utilización de mecanismos de comunicación asíncrona: AJAX. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 19 |
R20 | ECMAScript2015 (ES6) |
---|---|
Descripción | Uso de las nuevas incorporaciones del estándar ECMAScript2015 (ES6). |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 20 |
R21 | PHP |
---|---|
Descripción | Usar PHP 7.3 ó superior. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 21 |
R22 | Yii2 Framework |
---|---|
Descripción | Usar Yii2 Framework versión 2.0.29 ó superior. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 22 |
R23 | PostgreSQL |
---|---|
Descripción | Usar PostgreSQL versión 12 ó superior. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 23 |
R24 | Heroku |
---|---|
Descripción | Despliegue de la aplicación en la plataforma Heroku. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 24 |
R25 | Codeception |
---|---|
Descripción | Pruebas funcionales con Codeception. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 25 |
R26 | Code Climate |
---|---|
Descripción | Estilo y mantenibilidad del código fuente validados por Code Climate. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 26 |
R27 | Aplicación escalable |
---|---|
Descripción | La aplicación ha de ser escalable. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 27 |
R28 | Tecnología AJAX |
---|---|
Descripción | La aplicación debe hacer en algún momento un uso apropiado de la tecnología AJAX. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 28 |
R29 | Etiquetas semánticas de HTML5 |
---|---|
Descripción | Para estructurar el contenido se utilizarán las etiquetas semánticas de HTML5. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 29 |
R30 | Presentación mediante CSS |
---|---|
Descripción | Todo lo relacionado con la presentación se trabajará mediante CSS. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 30 |
R31 | Diseño flexible |
---|---|
Descripción | El diseño será flexible. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 31 |
R32 | Transiciones, transformaciones, animaciones y contenido multimedia |
---|---|
Descripción | Existirán transiciones, transformaciones, animaciones y contenido multimedia. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 32 |
R33 | Uso de microdatos |
---|---|
Descripción | Uso de microdatos. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 33 |
R34 | Validación HTML5, CSS3 y accesibilidad |
---|---|
Descripción | Se deberá comprobar que el código realizado supera: - El validador para HTML5, CSS3. - Nivel de accesibilidad AA. - Prueba del seis. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 34 |
R35 | Diseño para varias resoluciones |
---|---|
Descripción | Implementar el diseño para resoluciones grandes y pequeñas. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 35 |
R36 | Varios navegadores |
---|---|
Descripción | Comprobar que el diseño es correcto en los siguientes navegadores: - Internet Explorer. - Chrome. - Mozilla Firefox. - Opera. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 36 |
R37 | Despliegue en un Host |
---|---|
Descripción | Realizar el despliegue en un Host: - Utilizando algún servicio gratuito de hosting como los vistos en clase - Instalar / configurar o solicitar el software necesario para desplegar el proyecto. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 37 |
R38 | Despliegue en un servidor local |
---|---|
Descripción | Realizar un despliegue en un servidor local usando y configurando tres máquinas virtuales para: - Crear un servicio de Nombres de dominio. - Gestionar y administrar el servidor Apache tanto en Windows como Linux: - Instalar el servidor y configurarlo. - Configurar directivas. - Usar directorios virtuales y redireccionamientos. - Usar diferentes módulos estáticos y dinámicos. - Usar autenticaciones. - Usar ficheros de configuración personalizada de directorios. - Usar HTTPS y certificados Digitales. |
Prioridad | Mínimo |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 38 |
R39 | Crear la base de datos |
---|---|
Descripción | Crear la base de datos que guardará la información de usuarios, canciones, etc. |
Prioridad | Importante |
Tipo | Información |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 39 |
R40 | Añadir una canción |
---|---|
Descripción | Añadir una canción que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 40 |
R41 | Modificar una canción |
---|---|
Descripción | Modificar una canción que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 41 |
R42 | Borrar una canción |
---|---|
Descripción | Borrar una canción que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 42 |
R43 | Añadir un usuario. |
---|---|
Descripción | Añadir un usuario que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 43 |
R44 | Modificar un usuario. |
---|---|
Descripción | Modificar un usuario que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 44 |
R45 | Eliminar un usuario. |
---|---|
Descripción | Eliminar un usuario que deberá cumplir las reglas SQL escritas en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 45 |
R46 | Usar Firebase. |
---|---|
Descripción | Usar Firebase como servidor de almacenamiento en la nube. |
Prioridad | Importante |
Tipo | Técnico |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 46 |
R47 | Añadir la canción a Firebase. |
---|---|
Descripción | Al añadir una canción, que esta sea subida al servidor de almacenamiento gratuito de Firebase. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 47 |
R48 | Modificar la canción de Firebase. |
---|---|
Descripción | Al modificar una canción, si modificamos la canción, que la anterior sea borrada de Firebase y se suba la nueva. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 48 |
R49 | Eliminar la canción de Firebase. |
---|---|
Descripción | Al eliminar una canción, que esta sea eliminada del servidor de almacenamiento gratuito de Firebase. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 49 |
R50 | Añadir la portada de la canción a Firebase. |
---|---|
Descripción | Al añadir una canción, que la portada se suba al servidor de almacenamiento gratuito de Firebase. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 50 |
R51 | Eliminar la portada de la canción de Firebase. |
---|---|
Descripción | Al eliminar una canción, que la portada sea eliminada del servidor de almacenamiento gratuito de Firebase. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 51 |
R52 | Modificar la portada de la canción de Firebase. |
---|---|
Descripción | Al modificar una canción, si modificamos la portada, que la anterior sea borrada de Firebase y se suba la nueva. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 52 |
R53 | Registrarse |
---|---|
Descripción | Dar la oportunidad al usuario de registrarse en la aplicación almacenando dichos datos en la base de datos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 53 |
R54 | Iniciar sesión |
---|---|
Descripción | Iniciar sesión como un usuario registrado en la aplicación. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 54 |
R55 | Cerrar sesión |
---|---|
Descripción | Cerrar sesión del usuario logueado en este momento. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 55 |
R56 | Modificar perfil de usuario. |
---|---|
Descripción | Modificar el perfil del usuario logueado en este momento. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 56 |
R57 | Añadir imagen de perfil. |
---|---|
Descripción | Añadir una imagen al perfil que será guardada en el servidor de almacenamiento gratuito de Firebase. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 57 |
R58 | Modificar imagen de perfil. |
---|---|
Descripción | Modificar la imagen de perfil que será guardada en el servidor de almacenamiento gratuito de Firebase sustituyendo a la anterior. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 58 |
R59 | Eliminar imagen de perfil. |
---|---|
Descripción | Eliminar una imagen del perfil, que a su vez será borrada del servidor de almacenamiento de Firebase. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v1 |
Incidencia | 59 |
R60 | Buscar usuarios |
---|---|
Descripción | Buscar a los demás usuarios. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 60 |
R61 | Buscar usuarios por nombre. |
---|---|
Descripción | Buscar usuarios por su nombre. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 61 |
R62 | Buscar usuarios por su email. |
---|---|
Descripción | Buscar usuarios por su email. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 62 |
R63 | Ver a un usuario. |
---|---|
Descripción | Visualizar el perfil de un usuario. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 63 |
R64 | Darse de baja de la aplicación. |
---|---|
Descripción | Eliminar la cuenta del usuario. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 64 |
R65 | Buscar canciones |
---|---|
Descripción | Buscar canciones subidas por los demás. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 65 |
R66 | Buscar canciones por título. |
---|---|
Descripción | Buscar canciones por título. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 66 |
R67 | Buscar canciones por usuario/artista. |
---|---|
Descripción | Buscar canciones por usuario/artista. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v1 |
Incidencia | 67 |
R68 | Seguir a un usuario. |
---|---|
Descripción | Seguir a un usuario estando logueado en una cuenta. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v2 |
Incidencia | 68 |
R69 | Dejar de seguir a un usuario. |
---|---|
Descripción | Dejar de seguir a un usuario que ya sigamos estando logueado en una cuenta. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v2 |
Incidencia | 69 |
R70 | Ser seguido por otro usuario. |
---|---|
Descripción | La posibilidad de ser seguido por otro usuario. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v2 |
Incidencia | 70 |
R71 | Dejar de ser seguido |
---|---|
Descripción | Dejar de ser seguido por otro usuario. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v2 |
Incidencia | 71 |
R72 | Ver lista de seguidores. |
---|---|
Descripción | Desde el perfil poder ver la lista de los usuarios que nos siguen. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 72 |
R73 | Ver lista de seguidos. |
---|---|
Descripción | Desde el perfil poder ver la lista de usuarios que seguimos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 73 |
R74 | Dar like a una canción. |
---|---|
Descripción | Dar like a una canción estando logueado. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 74 |
R75 | Quitar like a una canción. |
---|---|
Descripción | Quitar like a una canción que le hayamos dado like estando logueado. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 75 |
R76 | Comentar en una canción. |
---|---|
Descripción | Comentar en una canción estando logueado. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 76 |
R77 | Quitar un comentario de una canción. |
---|---|
Descripción | Quitar comentario de una canción en la que hayamos comentado estando logueado. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 77 |
R78 | Escuchar canciones. |
---|---|
Descripción | Poder escuchar las canciones de los demás artistas/usuarios. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 78 |
R79 | Descargar una canción |
---|---|
Descripción | Dar la posibilidad de descargar una canción. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Fácil |
Entrega | v2 |
Incidencia | 79 |
R80 | Ordenar el resultado de la búsqueda por género. |
---|---|
Descripción | Poder ordenar el resultado de la búsqueda por el género de la canción. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 80 |
R81 | Ordenar el resultado de la búsqueda por usuario/artista. |
---|---|
Descripción | Poder ordenar el resultado de la búsqueda por el usuario/artista de la canción. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 81 |
R82 | Ordenar el resultado de la búsqueda por likes. |
---|---|
Descripción | Poder ordenar el resultado de la búsqueda por los likes de las canciones. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 82 |
R83 | Cuenta admin. |
---|---|
Descripción | Cuenta de administrador que podrá acceder al panel de administración donde tendrá el listado de usuarios, canciones, géneros, etc. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 83 |
R84 | Visualizar canciones de un perfil. |
---|---|
Descripción | Poder ver el listado de canciones de un usuario visitando su perfil. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Media |
Entrega | v2 |
Incidencia | 84 |
R85 | Bloquear a un usuario. |
---|---|
Descripción | Bloquear a un usuario de modo que no podrá ni visualizar nuestro perfil ni seguirnos. |
Prioridad | Importante |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v3 |
Incidencia | 85 |
R86 | Chat en tiempo real. |
---|---|
Descripción | Chat en tiempo real con los demás usuarios haciendo uso del módulo de chat. |
Prioridad | Importante |
Tipo | Técnico |
Complejidad | Difícil |
Entrega | v3 |
Incidencia | 86 |
R87 | Multilenguaje. |
---|---|
Descripción | La página tendrá dos idiomas, Español e Inglés. |
Prioridad | Importante |
Tipo | Técnico |
Complejidad | Media |
Entrega | v3 |
Incidencia | 87 |
R88 | Añadir imagen de banner al perfil. |
---|---|
Descripción | Añadir una imagen de banner al perfil que será guardada en el servidor de almacenamiento gratuito de Firebase. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 88 |
R89 | Modificar imagen de banner al perfil. |
---|---|
Descripción | Modificar una imagen de banner del perfil que será guardada en el servidor de almacenamiento gratuito de Firebase eliminándose la anterior. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 89 |
R90 | Eliminar imagen de banner al perfil. |
---|---|
Descripción | Eliminar la imagen de banner del perfil que será a su vez eliminada del servidor de almacenamiento gratuito de Firebase. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 90 |
R91 | Poder recuperar la cuenta del usuario. |
---|---|
Descripción | Posibilidad de recuperar una cuenta que ha sido eliminada. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 91 |
R92 | Cambiar contraseña |
---|---|
Descripción | Posibilidad de cambiar una contraseña que ha sido olvidada. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 92 |
R93 | Ver lista de likes. |
---|---|
Descripción | Ver lista de likes de una canción. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v3 |
Incidencia | 93 |
R94 | Crear playlist. |
---|---|
Descripción | Crear playlist de canciones. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v3 |
Incidencia | 94 |
R95 | Añadir canción a cola de reproducción. |
---|---|
Descripción | Poder agregar una canción a la cola para cuando la canción actual deje de reproducirse se reproduzca esta. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Difícil |
Entrega | v3 |
Incidencia | 95 |
R96 | Foto de perfil con dimensiones y extensión fijada. |
---|---|
Descripción | La foto a subir en el perfil debe cumplir unos requisitos de dimensiones y extensión. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 96 |
R97 | Foto de banner del perfil con dimensiones y extensión fijada. |
---|---|
Descripción | La foto a subir para el banner del perfil debe cumplir unos requisitos de dimensiones y extensión. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 97 |
R98 | Modo claro/oscuro |
---|---|
Descripción | Poder cambiar entre modo claro y oscuro. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 98 |
R99 | Notificar al usuario. |
---|---|
Descripción | Notificar al usuario cuando le sigan. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 99 |
R100 | Agregar el link de un videoclip a la canción. |
---|---|
Descripción | Agregar el link de un videoclip a la canción el cual podrá visualizarse en el perfil del usuario. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 100 |
R101 | Escuchar la canción través de la página. |
---|---|
Descripción | La canción se deberá seguir escuchando mientras navegas por la página de modo que la página tendrá que ser cargada mediante la tecnología AJAX. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 134 |
R102 | Cuenta privada. |
---|---|
Descripción | Posibilidad de que el usuario tenga la cuenta privada y solo puedan visitarla aquellos a los que le de permiso. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 141 |
R103 | Cuenta premium. |
---|---|
Descripción | Cuenta premium que tendrá ventajas sobre las cuentas normales y a la que habrá que pagar para acceder a ella. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 144 |
R104 | Pago por Paypal. |
---|---|
Descripción | Pago por Paypal para acceder a la cuenta premium. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 145 |
R105 | Obtener factura. |
---|---|
Descripción | Obtener factura de los pagos que realices. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 147 |
R106 | Regalar premium. |
---|---|
Descripción | Se podrá regalar premium a un amigo. |
Prioridad | Opcional |
Tipo | Funcional |
Complejidad | Media |
Entrega | v3 |
Incidencia | 149 |
Cuadro resumen ¶
Requisito | Prioridad | Tipo | Complejidad | Entrega | Incidencia | ||
---|---|---|---|---|---|---|---|
(R1) Requisitos como incidencias | Mínimo | Técnico | Fácil | v1 | Incidencia | 1 | |
(R2) Código fuente | Mínimo | Técnico | Fácil | v1 | Incidencia | 2 | |
(R3) Estilo del código | Mínimo | Técnico | Fácil | v1 | Incidencia | 3 | |
(R4) Tres lanzamientos | Mínimo | Técnico | Fácil | v1 | Incidencia | 4 | |
(R5) README.md | Mínimo | Técnico | Fácil | v1 | Incidencia | 5 | |
(R6) Documentación | Mínimo | Técnico | Fácil | v1 | Incidencia | 6 | |
(R7) Incidencias en GitHub | Mínimo | Técnico | Fácil | v1 | Incidencia | 7 | |
(R8) Etiquetas e hitos | Mínimo | Técnico | Fácil | v1 | Incidencia | 8 | |
(R9) Rama master | Mínimo | Técnico | Fácil | v1 | Incidencia | 9 | |
(R10) Gestión del proyecto | Mínimo | Técnico | Fácil | v1 | Incidencia | 10 | |
(R11) Final de cada iteración | Mínimo | Técnico | Fácil | v1 | Incidencia | 11 | |
(R12) Validación de formularios | Mínimo | Técnico | Fácil | v1 | Incidencia | 12 | |
(R13) Gestión de ventanas | Mínimo | Técnico | Fácil | v1 | Incidencia | 13 | |
(R14) Manejo de eventos | Mínimo | Técnico | Fácil | v1 | Incidencia | 14 | |
(R15) DOM | Mínimo | Técnico | Fácil | v1 | Incidencia | 15 | |
(R16) Almacenamiento en el lado del cliente | Mínimo | Técnico | Fácil | v1 | Incidencia | 16 | |
(R17) jQuery, jQuery UI | Mínimo | Técnico | Fácil | v1 | Incidencia | 17 | |
(R18) Plugin no trabajado en clase | Mínimo | Técnico | Fácil | v1 | Incidencia | 18 | |
(R19) Utilización de AJAX | Mínimo | Técnico | Fácil | v1 | Incidencia | 19 | |
(R20) ECMAScript2015 (ES6) | Mínimo | Técnico | Fácil | v1 | Incidencia | 20 | |
(R21) PHP | Mínimo | Técnico | Fácil | v1 | Incidencia | 21 | |
(R22) Yii2 Framework | Mínimo | Técnico | Fácil | v1 | Incidencia | 22 | |
(R23) PostgreSQL | Mínimo | Técnico | Fácil | v1 | Incidencia | 23 | |
(R24) Heroku | Mínimo | Técnico | Fácil | v1 | Incidencia | 24 | |
(R25) Codeception | Mínimo | Técnico | Fácil | v1 | Incidencia | 25 | |
(R26) Code Climate | Mínimo | Técnico | Fácil | v1 | Incidencia | 26 | |
(R27) Aplicación escalable | Mínimo | Técnico | Fácil | v1 | Incidencia | 27 | |
(R28) Tecnología AJAX | Mínimo | Técnico | Fácil | v1 | Incidencia | 28 | |
(R29) Etiquetas semánticas de HTML5 | Mínimo | Técnico | Fácil | v1 | Incidencia | 29 | |
(R30) Presentación mediante CSS | Mínimo | Técnico | Fácil | v1 | Incidencia | 30 | |
(R31) Diseño flexible | Mínimo | Técnico | Fácil | v1 | Incidencia | 31 | |
(R32) Transiciones, transformaciones, animaciones y contenido multimedia | Mínimo | Técnico | Fácil | v1 | Incidencia | 32 | |
(R33) Uso de microdatos | Mínimo | Técnico | Fácil | v1 | Incidencia | 33 | |
(R34) Validación HTML5, CSS3 y accesibilidad | Mínimo | Técnico | Fácil | v1 | Incidencia | 34 | |
(R35) Diseño para varias resoluciones | Mínimo | Técnico | Fácil | v1 | Incidencia | 35 | |
(R36) Varios navegadores | Mínimo | Técnico | Fácil | v1 | Incidencia | 36 | |
(R37) Despliegue en un Host | Mínimo | Técnico | Fácil | v1 | Incidencia | 37 | |
(R38) Despliegue en un servidor local | Mínimo | Técnico | Fácil | v1 | Incidencia | 38 | |
(R39) Crear la base de datos | Importante | Información | Fácil | v1 | Incidencia | 39 | |
(R40) Añadir una canción | Importante | Funcional | Fácil | v1 | Incidencia | 40 | |
(R41) Modificar una canción | Importante | Funcional | Fácil | v1 | Incidencia | 41 | |
(R42) Borrar una canción | Importante | Funcional | Fácil | v1 | Incidencia | 42 | |
(R43) Añadir un usuario. | Importante | Funcional | Fácil | v1 | Incidencia | 43 | |
(R44) Modificar un usuario. | Importante | Funcional | Fácil | v1 | Incidencia | 44 | |
(R45) Eliminar un usuario. | Importante | Funcional | Fácil | v1 | Incidencia | 45 | |
(R46) Usar Firebase. | Importante | Técnico | Fácil | v1 | Incidencia | 46 | |
(R47) Añadir la canción a Firebase. | Importante | Funcional | Media | v1 | Incidencia | 47 | |
(R48) Modificar la canción de Firebase. | Importante | Funcional | Media | v1 | Incidencia | 48 | |
(R49) Eliminar la canción de Firebase. | Importante | Funcional | Media | v1 | Incidencia | 49 | |
(R50) Añadir la portada de la canción a Firebase. | Importante | Funcional | Media | v1 | Incidencia | 50 | |
(R51) Eliminar la portada de la canción de Firebase. | Importante | Funcional | Media | v1 | Incidencia | 51 | |
(R52) Modificar la portada de la canción de Firebase. | Importante | Funcional | Fácil | v1 | Incidencia | 52 | |
(R53) Registrarse | Importante | Funcional | Media | v1 | Incidencia | 53 | |
(R54) Iniciar sesión | Importante | Funcional | Fácil | v1 | Incidencia | 54 | |
(R55) Cerrar sesión | Importante | Funcional | Fácil | v1 | Incidencia | 55 | |
(R56) Modificar perfil de usuario. | Importante | Funcional | Fácil | v1 | Incidencia | 56 | |
(R57) Añadir imagen de perfil. | Importante | Funcional | Media | v1 | Incidencia | 57 | |
(R58) Modificar imagen de perfil. | Opcional | Funcional | Media | v1 | Incidencia | 58 | |
(R59) Eliminar imagen de perfil. | Opcional | Funcional | Media | v1 | Incidencia | 59 | |
(R60) Buscar usuarios | Importante | Funcional | Fácil | v1 | Incidencia | 60 | |
(R61) Buscar usuarios por nombre. | Importante | Funcional | Fácil | v1 | Incidencia | 61 | |
(R62) Buscar usuarios por su email. | Importante | Funcional | Fácil | v1 | Incidencia | 62 | |
(R63) Ver a un usuario. | Importante | Funcional | Fácil | v1 | Incidencia | 63 | |
(R64) Darse de baja de la aplicación. | Importante | Funcional | Fácil | v1 | Incidencia | 64 | |
(R65) Buscar canciones | Importante | Funcional | Fácil | v1 | Incidencia | 65 | |
(R66) Buscar canciones por título. | Importante | Funcional | Fácil | v1 | Incidencia | 66 | |
(R67) Buscar canciones por usuario/artista. | Importante | Funcional | Fácil | v1 | Incidencia | 67 | |
(R68) Seguir a un usuario. | Importante | Funcional | Difícil | v2 | Incidencia | 68 | |
(R69) Dejar de seguir a un usuario. | Importante | Funcional | Difícil | v2 | Incidencia | 69 | |
(R70) Ser seguido por otro usuario. | Importante | Funcional | Difícil | v2 | Incidencia | 70 | |
(R71) Dejar de ser seguido | Importante | Funcional | Difícil | v2 | Incidencia | 71 | |
(R72) Ver lista de seguidores. | Importante | Funcional | Media | v2 | Incidencia | 72 | |
(R73) Ver lista de seguidos. | Importante | Funcional | Media | v2 | Incidencia | 73 | |
(R74) Dar like a una canción. | Importante | Funcional | Media | v2 | Incidencia | 74 | |
(R75) Quitar like a una canción. | Importante | Funcional | Media | v2 | Incidencia | 75 | |
(R76) Comentar en una canción. | Importante | Funcional | Media | v2 | Incidencia | 76 | |
(R77) Quitar un comentario de una canción. | Importante | Funcional | Media | v2 | Incidencia | 77 | |
(R78) Escuchar canciones. | Importante | Funcional | Media | v2 | Incidencia | 78 | |
(R79) Descargar una canción | Importante | Funcional | Fácil | v2 | Incidencia | 79 | |
(R80) Ordenar el resultado de la búsqueda por género. | Importante | Funcional | Media | v2 | Incidencia | 80 | |
(R81) Ordenar el resultado de la búsqueda por usuario/artista. | Importante | Funcional | Media | v2 | Incidencia | 81 | |
(R82) Ordenar el resultado de la búsqueda por likes. | Importante | Funcional | Media | v2 | Incidencia | 82 | |
(R83) Cuenta admin. | Importante | Funcional | Media | v2 | Incidencia | 83 | |
(R84) Visualizar canciones de un perfil. | Importante | Funcional | Media | v2 | Incidencia | 84 | |
(R85) Bloquear a un usuario. | Importante | Funcional | Difícil | v3 | Incidencia | 85 | |
(R86) Chat en tiempo real. | Importante | Técnico | Difícil | v3 | Incidencia | 86 | |
(R87) Multilenguaje. | Importante | Técnico | Media | v3 | Incidencia | 87 | |
(R88) Añadir imagen de banner al perfil. | Opcional | Funcional | Media | v3 | Incidencia | 88 | |
(R89) Modificar imagen de banner al perfil. | Opcional | Funcional | Media | v3 | Incidencia | 89 | |
(R90) Eliminar imagen de banner al perfil. | Opcional | Funcional | Media | v3 | Incidencia | 90 | |
(R91) Poder recuperar la cuenta del usuario. | Opcional | Funcional | Media | v3 | Incidencia | 91 | |
(R92) Cambiar contraseña | Opcional | Funcional | Media | v3 | Incidencia | 92 | |
(R93) Ver lista de likes. | Opcional | Funcional | Difícil | v3 | Incidencia | 93 | |
(R94) Crear playlist. | Opcional | Funcional | Difícil | v3 | Incidencia | 94 | |
(R95) Añadir canción a cola de reproducción. | Opcional | Funcional | Difícil | v3 | Incidencia | 95 | |
(R96) Foto de perfil con dimensiones y extensión fijada. | Opcional | Funcional | Media | v3 | Incidencia | 96 | |
(R97) Foto de banner del perfil con dimensiones y extensión fijada. | Opcional | Funcional | Media | v3 | Incidencia | 97 | |
(R98) Modo claro/oscuro | Opcional | Funcional | Media | v3 | Incidencia | 98 | |
(R99) Notificar al usuario. | Opcional | Funcional | Media | v3 | Incidencia | 99 | |
(R100) Agregar el link de un videoclip a la canción. | Opcional | Funcional | Media | v3 | Incidencia | 100 | |
(R101) Escuchar la canción través de la página. | Opcional | Funcional | Media | v3 | Incidencia | 134 | |
(R102) Cuenta privada. | Opcional | Funcional | Media | v3 | Incidencia | 141 | |
(R103) Cuenta premium. | Opcional | Funcional | Media | v3 | Incidencia | 144 | |
(R104) Pago por Paypal. | Opcional | Funcional | Media | v3 | Incidencia | 145 | |
(R105) Obtener factura. | Opcional | Funcional | Media | v3 | Incidencia | 147 | |
(R106) Regalar premium. | Opcional | Funcional | Media | v3 | Incidencia | 149 |