📄️ Introducción
Enlace del proyecto en Github
📄️ Dependencias
Vamos a repasar las dependencias más importantes de este segundo proyecto para comprender cómo está configurado.
📄️ Makefile
Como hemos comentado en la introducción, vamos a usar una estructura monorepo para nuestro proyecto. Esto presenta una serie de problemas que se pueden solventar de diferentes maneras, por ejemplo la necesidad de mantener un mecanismo centralizado para controlar todos los sub-proyectos. Otro de los grandes problemas es tener que escalar un proyecto con múltiples servicios, miles de lineas de código y diferentes mecanísmos para automatizar la integración y el despliegue continuos. De momento no nos vamos a preocupar de esto, y la decisión principal por la que usar monorepos es por tener nuestro código centralizado y enseñar un mecanísmo como este.
📄️ Swagger
Swagger es un conjunto de herramientas de software de código abierto para diseñar, construir, documentar, y utilizar servicios web RESTful. Fue desarrollado por SmartBear Software e incluye documentación automatizada, generación de código, y generación de casos de prueba. Las herramientas pueden dividirse en varios casos de uso: desarrollo, interacción con API y documentación.
📄️ Express
Express es un framework simple y flexible de Node.js que cuenta con un set de funcionalidads robustas para desarrollar aplicaciones web y móviles. Es fácil crear APIs de una forma rápida y sencilla gracias a todos los métodos HTTP y middleware con el que cuenta este Framework. Además, otro de los grandes beneficios de usar este framework es su rendimiento, al ser una fina capa por necima de Node no impacta su funcionamiento en general.
📄️ Rutas
El término "enrutar" se refiere a como los endpoints de una aplicación (URIs) responden a las peticiones del cliente. Estas peticiones son métodos HTTP como GET, POST, PUT...
📄️ Componentes
La carpeta components contiene todos los ficheros que definirán, modelarán, y se encargarán del tratamiento de los datos del servidor. Actualmente nuestro servicio cuenta con los siguientes modelos: AboutMe, para la información que poblará la carta de About Me, Auth, con el modelo de autenticación con el servicio, Projects con los datos de los proyectos y por último User, con el modelo del usuario autenticado.
📄️ Cambios en Front-End
Ya hemos hablado acerca de casi todas las características de nuestro backend. Antes de terminar esta sesión con los detalles de implementación de la autenticación, vamos a hablar un poco de los cambios en nuestro proyecto frontend para adecuar su funcionamiento e integrarlo con nuestro servicio.
📄️ JWT
JWT es una especificación de Autenticación que se utiliza sobre todo para control de autenticación entre dos actores. Se introdujo con la especificación RFC 7519 por el IEFT.
📄️ Autenticación
Por último vamos a hablar como está implementada la autenticación en el backend, como integramos jwt en nuestro proyecto y como protegemos nuestras rútas para que no acepten peticiones sin autenticar.
📄️ Estructura de la Clase
En esta sesión vamos a detallar los pasos que hemos seguido en clase para continuar con el desarrollo de la clase anterior. Puedes descargarte la sesión final de la clase anterior o simplemente usar el proyecto base de esta sesión.
📄️ Prompt GPT‑5 para Generar / Evolucionar Backend (Monorepo)
Esta página provee (1) un prompt XML listo para GPT‑5 que recrea el estado del proyecto 2-backend a partir de 1-frontend, (2) instrucciones de migración frontend→monorepo+api, y (3) directivas de trabajo para un agente (context gathering, tool preambles, self reflection).