Saltar al contenido principal
>_
DWW Academy
Módulo 07 Nivel: Intermedio • ~14 horas estimadas En preparación

Arquitectura de APIs

Evolución de APIs funcionales hacia sistemas modulares, validados, protegidos y documentados.

Este módulo está en fase de preparación y redacción pedagógica.

Temario del Módulo (8 lecciones)

01

Cuando server.js deja de escalar

Diagnóstico arquitectónico de una API funcional que ha crecido demasiado: responsabilidades mezcladas, acoplamiento, cohesión y fronteras antes de refactorizar DataTrack.

02

Rutas y controladores: separar HTTP

Primera refactorización arquitectónica de DataTrack: agrupar endpoints con express.Router, trasladar la traducción HTTP a controllers y separar la configuración de Express del arranque del servidor sin cambiar el contrato externo.

03

Servicios y repositorios: reglas frente a persistencia

Separación pragmática de la lógica de aplicación y el acceso a datos en DataTrack mediante services, repositories y una conexión SQLite compartida, conservando el contrato HTTP existente.

04

Contratos ejecutables con Zod y DTOs

Contratos de entrada con Zod y representaciones de salida explícitas mediante DTOs, conservando el comportamiento público de DataTrack.

05

Errores de dominio y middleware centralizado

Representación explícita de errores esperados y traducción HTTP centralizada en DataTrack, distinguiéndolos de fallos inesperados sin alterar el contrato de la API.

06

APIs de colección: paginación, filtros y ordenación

Diseño de colecciones HTTP controladas mediante paginación, búsqueda, filtros y ordenación segura sobre SQLite, con criterios validados y metadatos coherentes.

07

Identidad, contraseñas y sesiones seguras

Autenticación de usuarios en DataTrack mediante derivación de contraseñas con scrypt, sesiones opacas persistidas y cookies con atributos de seguridad.

08

Autorización y propiedad de recursos

Autorización por propiedad en DataTrack mediante identidad autenticada, ownership directo de proyectos e indirecto de tareas, con decisiones explícitas entre 401, 403 y 404.

Objetivos del Módulo

  • ✓ Separar responsabilidades mediante rutas, controladores, servicios y repositorios
  • ✓ Definir contratos ejecutables, validación estructurada y errores centralizados
  • ✓ Implementar autenticación con sesiones opacas y autorización por propiedad de recursos
  • ✓ Diseñar colecciones paginadas y documentar formalmente la API con OpenAPI