Instrucciones del retoDesarrollador full stack
Objetivo
Crea una aplicación full stack de lista de tareas con frontend y backend. Los usuarios deben poder agregar, ver, actualizar y eliminar tareas. Guarda la información de forma persistente en una base de datos.
Requisitos principales
- Frontend
- Crea una interfaz para agregar, ver, completar y eliminar tareas.
- Muestra el título y la fecha de creación de cada tarea.
- Usa una tecnología frontend moderna, como React, Vue o Angular.
- Realiza las operaciones CRUD mediante solicitudes a la API del backend.
- Backend
- Crea una API REST para las operaciones CRUD de las tareas.
- Usa un framework de backend, como Express, Django o Flask.
- Guarda los datos con MySQL, PostgreSQL, MongoDB o una base de datos similar.
- Valida los datos recibidos y devuelve errores claros cuando sean inválidos.
- Modelo de datos
- Cada tarea debe tener un ID único, título, fecha de creación y un estado, como Pendiente o Completada.
- Integración entre frontend y backend
- Mantén la interfaz sincronizada con los datos que devuelve la API.
- Maneja correctamente los estados de carga, éxito y error.
- Diseño adaptable
- Admite diseños para computadoras y dispositivos móviles.
- Seguridad
- Valida y sanitiza los datos de entrada para reducir el riesgo de inyección SQL, XSS y ataques similares.
- Autenticación (opcional)
- Usa JWT o autenticación por sesión para que cada usuario pueda administrar sus tareas.
Mejoras opcionales
- Paginar las listas de tareas extensas.
- Filtrar tareas por estado, fecha o título.
- Escribir pruebas unitarias y de integración para el frontend y el backend.
- Desplegar la aplicación en un proveedor de servicios en la nube.
Prepara tu entrega
- Publica tu solución en un repositorio público de GitHub.
- Incluye un README con instrucciones para configurar y ejecutar el proyecto.
- Explica tu enfoque y las decisiones que tomaste.
- Comprueba que el enlace compartido abra sin pedir acceso.