Deberás desarrollar una aplicación web en Angular que funcione como una herramienta
de gestión de aprobación de productos (To-Do) con las siguientes características:
Requerimientos Funcionales
Pantallas Principales:
Productos por Revisar:
Muestra una lista inicial de 10 productos obtenidos de una API fake (recomendada:
JSONPlaceholder o [Link]
Cada producto debe incluir un checkbox para aprobar o rechazar.
Productos Revisados:
Lista con scroll infinito y paginación (7 productos por página) que muestre los
productos aprobados o rechazados.
Cada producto debe presentarse en una card con un diseño limpio.
Funcionalidades:
Eliminar producto de la lista.
Ver detalles del producto en un dialog/modal.
Almacenamiento Local:
Implementa una base de datos local utilizando IndexedDB o LocalStorage para guardar
los datos de los productos y sus estados (aprobados/rechazados).
Consumo de la API:
La comunicación con la API debe implementarse utilizando el patrón adaptador.
Estándares y Buenas Prácticas
Utilizar Angular Material para la interfaz de usuario.
Modularidad en el código, con una estructura que permita fácil mantenibilidad y
escalabilidad.
Implementación de una arquitectura que consideres adecuada para este tipo de
aplicación (por ejemplo, Redux, NgRx, etc.).
Criterios de Evaluación
Calidad del Código: Limpieza, legibilidad y uso adecuado de las mejores prácticas
en Angular.
Modularidad: Separación de responsabilidades y organización del proyecto.
Uso de Patrones de Diseño: Implementación correcta y adecuada del patrón adaptador
y otros que consideres útiles.
Experiencia de Usuario: Diseño intuitivo y consistente con Angular Material.
Funcionalidad: Cumplimiento de los requerimientos técnicos descritos.