HU02: Consultar la información detallada de un álbum - nicolasjaramillocely99/Proyecto_Ingenieria_Software_Aplicaciones_Moviles GitHub Wiki

Descripción

Como usuario visitante
Quiero ver el detalle de un álbum
Para ampliar la información sobre él

Persona Asignada

Nicolas Javier Jaramillo Cely

Prioridad

Alta


Criterios de Aceptación

  1. La pantalla debe mostrar la portada del álbum en tamaño grande en la parte superior.
  2. Debajo de la portada debe mostrarse el título del álbum, nombre del artista, año de lanzamiento y género musical.
  3. La pantalla debe mostrar una descripción o reseña del álbum con información relevante (reproducciones, contexto histórico, etc.).
  4. Debe existir una sección "Canciones" que liste todas las canciones del álbum con su número de pista, título y duración.
  5. Al tocar una canción de la lista, esta debe resaltarse visualmente con un fondo de color diferente (morado/púrpura).
  6. La pantalla debe incluir un botón de retroceso en la esquina superior izquierda que navegue de regreso al catálogo de álbumes.
  7. Junto al título "Canciones" debe existir un botón "+" para agregar canciones.
  8. La barra de navegación inferior debe permanecer visible en esta pantalla.
  9. El contenido debe ser scrolleable verticalmente para visualizar toda la información y la lista completa de canciones.
  10. En la parte superior debe mostrarse el título "Detalles del Álbum".
  11. La aplicación debe mostrar un indicador de carga mientras se obtienen los detalles del álbum.
  12. Si ocurre un error al cargar los datos, debe mostrarse un mensaje de error apropiado.

Tareas de Implementación

Código Descripción de la Tarea Estimación
T02-01 Crear data classes AlbumDetalle (con información extendida) y Cancion (numero, titulo, duracion, seleccionada) 0h 20m
T02-02 Actualizar el repositorio agregando función getAlbumDetalle(albumId: String) con datos mock 0h 30m
T02-03 Diseñar el layout del item de canción con número, título, duración y selector de estados 0h 30m
T02-04 Diseñar el header del álbum para portada y texto para información 0h 45m
T02-05 Diseñar el layout principal 1h 30m
T02-06 Crear el modelo de la vista para detalle del álbum, lista de canciones y función de selección 1h 00m
T02-07 Implementar carga de datos observando la carga de datos en el modelo y actualizando UI con información del álbum 0h 45m
T02-08 Implementar funcionalidad de selección de canciones manejando clics y actualizando estado visual 0h 45m
T02-09 Configurar navegación de retroceso a vista de listar álbumes 0h 15m
T02-10 Actualizar el componente de navegacion con transiciones 0h 30m
T02-11 Implementar paso de datos desde HU01 enviando albumId y validando recepción en detalle de album 0h 30m
T02-12 Implementar estados de carga y manejo de errores en la UI 0h 45m
T02-13 Crear selector para estados de canciones (normal y seleccionado con fondo morado) 0h 30m
T02-14 Realizar pruebas unitarias de la vista del modelo para carga de datos y selección de canciones 1h 00m
T02-15 Realizar pruebas de UI (scroll completo, selección de canciones, navegación) y verificar criterios de aceptación 1h 00m
T02-16 Optimizar rendimiento del scroll verificando renderizado fluido con múltiples canciones 0h 30m
T02-17 Aplicar animaciones y transiciones al seleccionar canciones y al entrar/salir de la pantalla 0h 45m
T02-18 Implementar funcionalidad del botón "+" para agregar canciones (diálogo o acción correspondiente) 1h 00m

Tiempo total estimado: 12h 50m

Diseño de la interfaz