Volver al Banco de talentoEjercicio para realizar por tu cuenta

Aplicación full stack de lista de tareas

Entrega una aplicación completa para administrar tareas, con una interfaz adaptable y una API que guarde los datos de forma persistente.

A tu ritmo
Sin cronómetro
Enlace público
Envío del repositorio
Práctico
Explica tus decisiones
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.
Paso final

Prepara tu entrega

  1. Publica tu solución en un repositorio público de GitHub.
  2. Incluye un README con instrucciones para configurar y ejecutar el proyecto.
  3. Explica tu enfoque y las decisiones que tomaste.
  4. Comprueba que el enlace compartido abra sin pedir acceso.