Volver al Banco de talentoEjercicio para realizar por tu cuenta

API para una lista de tareas

Diseña una API REST segura, con almacenamiento persistente, respuestas predecibles y una estructura fácil de entender para otro desarrollador.

A tu ritmo
Sin cronómetro
Enlace público
Envío del repositorio
Práctico
Explica tus decisiones
Instrucciones del retoDesarrollador backend

Objetivo

Crea una API REST para una aplicación de lista de tareas. Los clientes deben poder crear, consultar, actualizar y eliminar tareas. La API debe ser segura y guardar la información de forma persistente en una base de datos.

Requisitos principales

  • Endpoints
    • Crear una tarea con título y fecha de creación.
    • Consultar todas las tareas de la base de datos.
    • Consultar una tarea por su ID.
    • Actualizar una tarea, incluso marcarla como completada.
    • Eliminar una tarea por su ID.
  • Validación de datos
    • Validar los campos obligatorios, como el título de la tarea.
    • Devolver errores claros cuando falten datos o sean inválidos.
  • Base de datos
    • Usar una base de datos relacional, como MySQL o PostgreSQL, o una base NoSQL, como MongoDB.
  • Modelo de datos
    • Cada tarea debe tener un ID único, título, fecha de creación y un estado, como Pendiente o Completada.
  • Seguridad
    • Implementar autenticación básica mediante una clave de API o un token.

Mejoras opcionales

  • Paginar la lista de tareas.
  • Agregar filtros por estado y búsqueda por título.
  • Limitar la cantidad de solicitudes a la API.
  • Desplegar la API en un servicio en la nube.
  • Escribir pruebas unitarias y de integración para las funciones principales.
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.