Catálogo de requisitos

R01 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
R02 Código fuente
Descripción Código fuente publicado en GitHub.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 2
R03 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
R04 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
R05 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
R06 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
R07 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
R08 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
R09 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.1 ó 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.10 ó superior.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 22
R23 PostgreSQL
Descripción Usar PostgreSQL versión 9.6 ó 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 Añadir un tipo de actividad
Descripción Añadir una actividad, deberá cumplir las reglas SQL escritas en la base de datos.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 39
R40 Borrar un tipo de actividad
Descripción Eliminar un tipo de actividad, deberá cumplir las reglas SQL escritas en la base de datos.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 40
R41 Modificar un tipo de actividad
Descripción Modificar un tipo de actividad, deberá cumplir las reglas SQL escritas en la base de datos.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 41
R42 Registrarse como usuario
Descripción Registrarse como usuario en la aplicación.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 42
R43 Iniciar sesión
Descripción Iniciar sesión como un usuario en la aplicación.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 43
R44 Cerrar sesión
Descripción Cerrar sesión de usuario en la aplicación.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 44
R45 Modificar usuario
Descripción Editar un perfil de usuario.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 45
R46 Buscar usuarios
Descripción Buscar a otros usuarios.
Prioridad Mínimo
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 46
R47 Visualizar un usuario
Descripción Ver el perfil público de un usuario
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 47
R48 Añadir un entrenamiento
Descripción Añadir un entrenamiento. Estará compuesto por un tipo de actividad, una fecha y una duración obligatoriamente.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 48
R49 Eliminar un entrenamiento
Descripción Eliminar un entrenamiento asociado a un usuario.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 49
R50 Modificar un entrenamiento
Descripción Modificar un entrenamiento, así como el gasto calórico asociado al usuario.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 50
R51 Ver un entrenamiento
Descripción Ver los detalles de un entrenamiento, el usuario que lo ha realizado, el número de likes (si se llega a implementar) y los posibles comentarios asociados.
Prioridad Importante
Tipo Funcional
Complejidad Difícil
Entrega v1
Incidencia 51
R52 Añadir una ruta a un entrenamiento
Descripción Mediante Google Maps añadir recorrido de un entrenamiento al aire libre.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 52
R53 Ver una ruta a un entrenamiento
Descripción Mediante Google Maps ver el recorrido de un entrenamiento al aire libre.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 53
R54 Modificar la ruta de un entrenamiento
Descripción Mediante Google Maps, poder cambiar el recorrido asociado a un entrenamiento. Poder modificar los puntos por los que ha pasado el usuario.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 54
R55 Eliminar la ruta de un entrenamiento
Descripción Eliminar el recorrido de un entrenamiento al aire libre.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 55
R56 Dar like a un entrenamiento
Descripción Dar like a un entrenamiento siempre que sea desde un usuario logueado.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 56
R57 Quitar like a un entrenamiento
Descripción Eliminar un like a un entrenamiento siempre que sea desde un usuario logueado.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 57
R58 Comentar un entrenamiento
Descripción Añadir un comentario asociado a un entrenamiento siempre que sea desde un usuario logueado. A diferencia que los likes un usuario podrá comentar un entrenamiento cero o muchas veces.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 58
R59 Descomentar un entrenamiento
Descripción Eliminar un comentario asociado a un entrenamiento siempre que sea desde un usuario logueado.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 59
R60 Calcular el gasto calórico de un entrenamiento
Descripción En función del tipo de actividad, la duración y los datos personales del usuario, MyFit calculará el gasto calórico de dicha actividad que quedará guardado junto a otros detalles del entrenamiento.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 60
R61 Modificar el gasto calórico de un entrenamiento
Descripción En función del tipo de actividad, la duración y los datos personales del usuario. El usuario puede modificar estos valores.
Prioridad Opcional
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 61
R62 Calcular el gasto calórico diario
Descripción En función del usuario (su metabolismo basal) y el numero de entrenamientos que haya realizado.
Prioridad Opcional
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 62
R63 Calcular el metabolismo basal
Descripción MyFit calculará el metabolismo basal (MB), es decir el consumo calórico de cualquier individuo si no realizase ninguna acción en todo el día.
Prioridad Opcional
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 63
R64 Ver entrenamientos asociados a un usuario
Descripción Ver todos los entrenamientos realizados por un usuario en particular.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 64
R65 Leer comentarios asociados a un entrenamiento
Descripción Leer comentarios asociados a un entrenamiento
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 65
R66 Ver un seguimiento diario de cada usuario
Descripción Ver un resumen diario de un usuario de una fecha pasada, así como sus entrenamientos realizados y gasto calórico.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 66
R67 Ver actividades recientes de usuarios seguidos
Descripción Esta será la pagina principal de un usuario logueado. En ella aparecerán las actividades recientes propias y de usuarios de su red.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 67
R68 Comentar un entrenamiento desde inicio
Descripción Poder comentar un entrenamiento propio o de un usuario seguido desde la página de inicio.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 68
R69 Dar like a un entrenamiento desde inicio
Descripción Dar like a un entrenamiento propio o ajeno desde inicio.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 69
R70 Ver detalle de un entrenamiento desde inicio
Descripción Pinchar sobre un entrenamiento y ver una vista detallada sobre este.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v2
Incidencia 70
R71 Acceder a un usuario desde inicio
Descripción Pinchar sobre un usuario en inicio y ver los detalles de su perfil.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v2
Incidencia 71
R72 Añadir una imagen de perfil a un usuario
Descripción Guardando estos archivos en la nube.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 72
R73 Eliminar imagen de perfil de un usuario
Descripción Eliminar la imagen de avatar asociada a un usuario
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 73
R74 Modificar el avatar de un usuario
Descripción Modificar la imagen de perfil de un usuario.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 74
R75 Añadir objetivos personales
Descripción Cada usuario podrá añadir objetivos personales, como entrenar x veces a la semana o gastar x calorias diarias.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 75
R76 Añadir contenido multimedia a un entrenamiento
Descripción Añadir contenido multimedia asociado a un entrenamiento, como imágenes de un posible recorrido o de las instalaciones y materiales usados.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 76
R77 Eliminar contenido multimedia asociado a un entrenamiento
Descripción Eliminar contenido multimedia asociado a un entrenamiento.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 77
R78 Notificar al usuario
Descripción Notificar al usuario cuando otro le envie una petición de amistad
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 78
R79 Añadir entrenamientos futuros
Descripción Añadir entrenamientos futuros a la aplicación. Estos serán visibles por usuarios del exterior. La idea es que de esta forma puedan organizar una quedada.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 79
R80 Mensaje de Bienvenida
Descripción Enviar un email de bienvenida a un usuario que se registre en la aplicación.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v2
Incidencia 80
R81 Controlar permisos de usuarios
Descripción Un usuario registrado no podrá eliminar daros ajenos a el, como entrenamientos ajenos, usuarios o actividades ajenas.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 81
R82 Ordenar entrenamientos asociados a un usuario por numero de likes
Descripción Ordenar entrenamientos asociados a un usuario por numero de likes. En sentido ascendiente y descendiente.
Prioridad Opcional
Tipo Funcional
Complejidad Fácil
Entrega v2
Incidencia 82
R83 Ordenar entrenamientos asociados a un usuario por duración
Descripción Ordenar entrenamientos asociados a un usuario por duración de la actividad. En sentido ascendiente y descendiente.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 83
R84 Ordenar entrenamientos asociados a un usuario por gasto calórico
Descripción Ordenar entrenamientos asociados a un usuario por la cantidad de gasto calórco. En sentido ascendiente y descendiente.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 84
R85 Ordenar entrenamientos asociados a un usuario por fecha
Descripción Ordenar entrenamientos asociados a un usuario por numero de likes. En sentido ascendiente y descendiente.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 85
R86 Ordenar entrenamientos asociados a un usuario por tipo de actividad
Descripción Ordenar entrenamientos asociados a un usuario por numero de likes. En sentido ascendiente y descendiente.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 86
R87 Seguir a un usuario
Descripción Seguir a un usuario estando logueado.
Prioridad Importante
Tipo Funcional
Complejidad Difícil
Entrega v2
Incidencia 87
R88 Dejar de seguir a un usuario
Descripción Dejar de seguir a un usuario estando logueado
Prioridad Importante
Tipo Funcional
Complejidad Difícil
Entrega v2
Incidencia 88
R89 Ser seguido por otro usuario
Descripción Ser seguido por otro usuario que esté registrado.
Prioridad Importante
Tipo Funcional
Complejidad Difícil
Entrega v2
Incidencia 89
R90 Dejar de ser seguido
Descripción Dejar de ser seguido por otro usuario.
Prioridad Importante
Tipo Funcional
Complejidad Difícil
Entrega v2
Incidencia 90
R91 Ver seguidores
Descripción Ver la lista de seguidores de un usuario
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 91
R92 Ver seguidos
Descripción Ver la lista de seguidos de un usuario.
Prioridad Importante
Tipo Funcional
Complejidad Medio
Entrega v2
Incidencia 92
R93 Ver tipos de actividades
Descripción Ver una lista con el tipo de actividades registradas en la aplicación, así como sus detalles.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 93
R94 Darse de baja de la aplicación
Descripción Eliminar permanentemente una cuenta personal.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 94
R95 Buscar un usuario por nombre de usuario
Descripción Buscar un usuario por nombre de usuario
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 95
R96 Buscar un usuario por email
Descripción Buscar a un usuario por su email
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 96
R97 Almacenar datos de cada entidad/modelo usuarios
Descripción Se almacenará de cada usuario al menos la siguiente información: id, login, nombre, apellidos, fecha de nacimiento, sexo, peso, estatura, password.
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 97
R98 Almacenar datos de cada entidad/modelo seguidores
Descripción Se almacenará al menos el id, seguidor_id y seguido_id
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 98
R99 Almacenar datos de cada entidad/modelo actividades
Descripción Se almacenará el id, la actividad y el gasto calórico unitario de la misma.
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 99
R100 Almacenar datos de cada entidad/modelo entrenamientos
Descripción Se almacenará al menos el id, usuario_id, actividad_id, anotacion, fecha y la duración.
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 100
R101 Almacenar datos de cada entidad/modelo comentarios
Descripción Se almacenará de cada comentario al menos la siguiente información: id, usuario_id, entrenamiento_id, cuerpo.
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 101
R102 Crear un evento
Descripción Crear un evento futuro a el que se puedan unir otros usuarios. Entendemos como evento un plan de entrenamiento propuesto para el futuro en una ubicación y con otras características
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 102
R103 Eliminar un evento
Descripción Eliminar un evento, lo podrá eliminar el creador.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 103
R104 Modificar un evento
Descripción Modificar un evento, poder cambiar datos como la fecha, la ubicación, etc. Solo lo podrá modificar el creador.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 104
R105 Unirse a un evento
Descripción Poder sumarte a un evento creador por otro usuario
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 105
R106 Abandonar un evento
Descripción Abandonar un evento del cual el usuario haya sido participante
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 106
R107 Almacenar datos de cada entidad/modelo eventos
Descripción Se almacenará al menos el id, los participantes, el creador y la actividad.
Prioridad Opcional
Tipo Información
Complejidad Fácil
Entrega v3
Incidencia 107

Cuadro resumen

Requisito Prioridad Tipo Complejidad Entrega Incidencia
(R01) Requisitos como incidencias Mínimo Técnico Fácil v1 1
(R02) Código fuente Mínimo Técnico Fácil v1 2
(R03) Estilo del código Mínimo Técnico Fácil v1 3
(R04) Tres lanzamientos Mínimo Técnico Fácil v1 4
(R05) README.md Mínimo Técnico Fácil v1 5
(R06) Documentación Mínimo Técnico Fácil v1 6
(R07) Incidencias en GitHub Mínimo Técnico Fácil v1 7
(R08) Etiquetas e hitos Mínimo Técnico Fácil v1 8
(R09) Rama master Mínimo Técnico Fácil v1 9
(R10) Gestión del proyecto Mínimo Técnico Fácil v1 10
(R11) Final de cada iteración Mínimo Técnico Fácil v1 11
(R12) Validación de formularios Mínimo Técnico Fácil v1 12
(R13) Gestión de ventanas Mínimo Técnico Fácil v1 13
(R14) Manejo de eventos Mínimo Técnico Fácil v1 14
(R15) DOM Mínimo Técnico Fácil v1 15
(R16) Almacenamiento en el lado del cliente Mínimo Técnico Fácil v1 16
(R17) jQuery, jQuery UI Mínimo Técnico Fácil v1 17
(R18) Plugin no trabajado en clase Mínimo Técnico Fácil v1 18
(R19) Utilización de AJAX Mínimo Técnico Fácil v1 19
(R20) ECMAScript2015 (ES6) Mínimo Técnico Fácil v1 20
(R21) PHP Mínimo Técnico Fácil v1 21
(R22) Yii2 Framework Mínimo Técnico Fácil v1 22
(R23) PostgreSQL Mínimo Técnico Fácil v1 23
(R24) Heroku Mínimo Técnico Fácil v1 24
(R25) Codeception Mínimo Técnico Fácil v1 25
(R26) Code Climate Mínimo Técnico Fácil v1 26
(R27) Aplicación escalable Mínimo Técnico Fácil v1 27
(R28) Tecnología AJAX Mínimo Técnico Fácil v1 28
(R29) Etiquetas semánticas de HTML5 Mínimo Técnico Fácil v1 29
(R30) Presentación mediante CSS Mínimo Técnico Fácil v1 30
(R31) Diseño flexible Mínimo Técnico Fácil v1 31
(R32) Transiciones, transformaciones, animaciones y contenido multimedia Mínimo Técnico Fácil v1 32
(R33) Uso de microdatos Mínimo Técnico Fácil v1 33
(R34) Validación HTML5, CSS3 y accesibilidad Mínimo Técnico Fácil v1 34
(R35) Diseño para varias resoluciones Mínimo Técnico Fácil v1 35
(R36) Varios navegadores Mínimo Técnico Fácil v1 36
(R37) Despliegue en un Host Mínimo Técnico Fácil v1 37
(R38) Despliegue en un servidor local Mínimo Técnico Fácil v1 38
(R39) Añadir un tipo de actividad Mínimo Funcional Fácil v1 39
(R40) Borrar un tipo de actividad Mínimo Funcional Fácil v1 40
(R41) Modificar un tipo de actividad Mínimo Funcional Fácil v1 41
(R42) Registrarse como usuario Mínimo Funcional Fácil v1 42
(R43) Iniciar sesión Mínimo Funcional Fácil v1 43
(R44) Cerrar sesión Mínimo Funcional Fácil v1 44
(R45) Modificar usuario Mínimo Funcional Fácil v1 45
(R46) Buscar usuarios Mínimo Funcional Fácil v1 46
(R47) Visualizar un usuario Importante Funcional Fácil v1 47
(R48) Añadir un entrenamiento Importante Funcional Fácil v1 48
(R49) Eliminar un entrenamiento Importante Funcional Fácil v1 49
(R50) Modificar un entrenamiento Opcional Funcional Difícil v3 50
(R51) Ver un entrenamiento Importante Funcional Difícil v1 51
(R52) Añadir una ruta a un entrenamiento Opcional Funcional Difícil v3 52
(R53) Ver una ruta a un entrenamiento Opcional Funcional Difícil v3 53
(R54) Modificar la ruta de un entrenamiento Opcional Funcional Difícil v3 54
(R55) Eliminar la ruta de un entrenamiento Opcional Funcional Difícil v3 55
(R56) Dar like a un entrenamiento Importante Funcional Medio v2 56
(R57) Quitar like a un entrenamiento Importante Funcional Medio v2 57
(R58) Comentar un entrenamiento Importante Funcional Medio v2 58
(R59) Descomentar un entrenamiento Importante Funcional Medio v2 59
(R60) Calcular el gasto calórico de un entrenamiento Importante Funcional Medio v2 60
(R61) Modificar el gasto calórico de un entrenamiento Opcional Funcional Medio v2 61
(R62) Calcular el gasto calórico diario Opcional Funcional Medio v2 62
(R63) Calcular el metabolismo basal Opcional Funcional Medio v2 63
(R64) Ver entrenamientos asociados a un usuario Importante Funcional Fácil v1 64
(R65) Leer comentarios asociados a un entrenamiento Importante Funcional Medio v2 65
(R66) Ver un seguimiento diario de cada usuario Opcional Funcional Difícil v3 66
(R67) Ver actividades recientes de usuarios seguidos Importante Funcional Medio v2 67
(R68) Comentar un entrenamiento desde inicio Importante Funcional Medio v2 68
(R69) Dar like a un entrenamiento desde inicio Importante Funcional Medio v2 69
(R70) Ver detalle de un entrenamiento desde inicio Importante Funcional Fácil v2 70
(R71) Acceder a un usuario desde inicio Importante Funcional Fácil v2 71
(R72) Añadir una imagen de perfil a un usuario Opcional Funcional Difícil v3 72
(R73) Eliminar imagen de perfil de un usuario Opcional Funcional Difícil v3 73
(R74) Modificar el avatar de un usuario Opcional Funcional Difícil v3 74
(R75) Añadir objetivos personales Opcional Funcional Difícil v3 75
(R76) Añadir contenido multimedia a un entrenamiento Opcional Funcional Difícil v3 76
(R77) Eliminar contenido multimedia asociado a un entrenamiento Opcional Funcional Difícil v3 77
(R78) Notificar al usuario Opcional Funcional Difícil v3 78
(R79) Añadir entrenamientos futuros Importante Funcional Medio v2 79
(R80) Mensaje de Bienvenida Importante Funcional Fácil v2 80
(R81) Controlar permisos de usuarios Importante Funcional Fácil v1 81
(R82) Ordenar entrenamientos asociados a un usuario por numero de likes Opcional Funcional Fácil v2 82
(R83) Ordenar entrenamientos asociados a un usuario por duración Importante Funcional Medio v2 83
(R84) Ordenar entrenamientos asociados a un usuario por gasto calórico Importante Funcional Medio v2 84
(R85) Ordenar entrenamientos asociados a un usuario por fecha Importante Funcional Medio v2 85
(R86) Ordenar entrenamientos asociados a un usuario por tipo de actividad Importante Funcional Medio v2 86
(R87) Seguir a un usuario Importante Funcional Difícil v2 87
(R88) Dejar de seguir a un usuario Importante Funcional Difícil v2 88
(R89) Ser seguido por otro usuario Importante Funcional Difícil v2 89
(R90) Dejar de ser seguido Importante Funcional Difícil v2 90
(R91) Ver seguidores Importante Funcional Medio v2 91
(R92) Ver seguidos Importante Funcional Medio v2 92
(R93) Ver tipos de actividades Importante Funcional Fácil v1 93
(R94) Darse de baja de la aplicación Importante Funcional Fácil v1 94
(R95) Buscar un usuario por nombre de usuario Importante Funcional Fácil v1 95
(R96) Buscar un usuario por email Importante Funcional Fácil v1 96
(R97) Almacenar datos de cada entidad/modelo usuarios Importante Información Fácil v1 97
(R98) Almacenar datos de cada entidad/modelo seguidores Importante Información Fácil v1 98
(R99) Almacenar datos de cada entidad/modelo actividades Importante Información Fácil v1 99
(R100) Almacenar datos de cada entidad/modelo entrenamientos Importante Información Fácil v1 100
(R101) Almacenar datos de cada entidad/modelo comentarios Importante Información Fácil v1 101
(R102) Crear un evento Opcional Funcional Difícil v3 102
(R103) Eliminar un evento Opcional Funcional Difícil v3 103
(R104) Modificar un evento Opcional Funcional Difícil v3 104
(R105) Unirse a un evento Opcional Funcional Difícil v3 105
(R106) Abandonar un evento Opcional Funcional Difícil v3 106
(R107) Almacenar datos de cada entidad/modelo eventos Opcional Información Fácil v3 107
(R108) Corregir zona horaria Importante Funcional Medio v3 108
(R109) Componentes Bootstrap 4 Opcional Funcional Medio v3 109
(R110) Control de acceso Importante Funcional Medio v3 110
(R111) No conformidades Importante Funcional Difícil v3 111
(R112) HTTPS Opcional Técnico Medio v3 112