El objetivo de esta prueba es construir una aplicación sencilla para la gestión de tareas (ToDo) que permita:
- Listar tareas.
- Crear, editar y eliminar tareas.
- Filtrar tareas por estado (completadas/no completadas).
- Cambiar entre diferentes usuarios ficticios para mostrar las tareas de cada uno.
- Frontend: React.
- API: Simula una API utilizando fetch o Axios. Los datos se obtendrán de JSONPlaceholder, específicamente de los endpoints de users y todos.
La aplicación consiste en una interfaz de usuario que:
- Permite seleccionar entre diferentes usuarios ficticios.
- Muestra la lista de tareas asociadas al usuario seleccionado.
- Permite:
- Crear nuevas tareas (simulado, sin persistencia real).
- Editar el título de una tarea.
- Eliminar una tarea.
- Marcar una tarea como completada o no completada.
- Filtrar las tareas por completadas y no completadas.
- Implementa un dropdown para seleccionar entre los usuarios disponibles. (Fetch de
https://jsonplaceholder.typicode.com/users
). - Al seleccionar un usuario, deben cargarse las tareas correspondientes a ese usuario (Fetch de
https://jsonplaceholder.typicode.com/todos?userId={userId}
).
- Mostrar las tareas en una lista con su estado (completada o no completada).
- Cada tarea debe tener las siguientes opciones:
- Marcar como completada/no completada.
- Editar el título de la tarea (inline editing).
- Eliminar la tarea.
- Incluir un filtro para mostrar todas las tareas, solo las completadas o solo las no completadas.
- Incluir un formulario sencillo que permita agregar una nueva tarea con un título.
- La nueva tarea debe añadirse a la lista actual (simulado, sin persistencia real).