Node.js y MySQL: Modelado, Inyección de Dependencias y Despliegue

·1h 24m

Introducción al Backend con Node.js y MySQL

Este episodio se centra en la implementación de una base de datos MySQL desde cero para una API de películas, aplicando conceptos fundamentales de buenas prácticas de ingeniería de software:

Patrón MVC: Repaso del Modelo-Vista-Controlador para separar responsabilidades.
Abstracción del Modelo: El modelo actúa como una caja negra permitiendo cambiar la persistencia de datos (Local, MongoDB o MySQL) sin afectar al controlador.

Modelado y Buenas Prácticas

La sesión profundiza en la creación de una base de datos relacional robusta:

UUID vs Autoincrement: Uso de UUID para IDs inmutables y seguros, evitando la predictibilidad de los autoincrementales.
Relaciones: Cómo manejar relaciones de muchos a muchos entre películas y géneros, dado que MySQL no soporta arrays nativos.
Seguridad: Énfasis absoluto en la prevención de SQL Injection mediante la interpolación de consultas (uso de interrogantes en lugar de concatenación directa).

Inyección de Dependencias

"La inyección de dependencias es un patrón de diseño que se utiliza para aumentar la eficiencia y la modularidad de tu código."

Se explica cómo desacoplar el controlador del modelo utilizando esta técnica, permitiendo que la aplicación sea más testable y flexible ante cambios futuros, como la migración entre diferentes proveedores de bases de datos.

Despliegue en Producción

Se finaliza configurando una base de datos en la nube con PlanetScale:

Configuración: Uso de variables de entorno con .env para gestionar cadenas de conexión sensibles.
Cloud Database: Implementación de un flujo de trabajo para interactuar con bases de datos en producción de manera eficiente y segura.

Temas

Node.js MySQL Backend MVC Inyección de Dependencias SQL Injection PlanetScale UUID Buenas Prácticas

Capítulos

5 chapters