- 1

Instalación y configuración inicial de NestJS para APIs
06:28 - 2

Instalación del CLI de NestJS y primer proyecto con API
11:29 - 3

Creación de endpoints dinámicos para consultar usuarios en NestJS
20:23 - 4

Operaciones CRUD en APIs REST con Postman
23:37 - 5

Método PUT para actualizar usuarios con ID automático
19:42 - 6

Códigos de estado HTTP y manejo de errores en APIs con NestJS
16:07 - 7

DTOs y validación automática de datos en APIs con NestJS
19:31 - 8

Patrón de servicios e inyección de dependencias en NestJS
25:09 - 9

Configuración de variables de entorno en NestJS
20:44 - 10

Creación y organización de módulos en NestJS para aplicaciones escalables
12:26 quiz de Fundamentos y Primer CRUD
Reutilización de servicios entre módulos en NestJS
Clase 21 de 35 • Curso de Backend con NestJS
Contenido del curso
- 11

Configuración de PostgreSQL con Docker y Docker Compose
16:08 - 12

Configuración de PostgreSQL con TypeORM en aplicaciones NestJS
12:17 - 13

Creación de entidades ORM con decoradores en TypeScript
09:17 - 14

Implementación del Repository Pattern con TypeORM en NestJS
29:55 - 15

Relaciones uno a uno entre usuarios y perfiles en PostgreSQL
17:00 - 16

Actualización de DTOs con mapped types en NestJS para perfil y usuario
38:56 - 17

Generación automática de módulos CRUD con NestJS y AI
25:34 - 18

Relaciones uno a muchos con TypeORM en NestJS
17:56 - 19

Creación de entidad Category con relaciones many-to-many en NestJS
15:28 - 20

Relaciones many-to-many con TypeORM y validación de arrays
17:40 - 21

Reutilización de servicios entre módulos en NestJS
09:04 - 22

Configuración de migraciones de base de datos con TypeORM
23:01 - 23

Migraciones de base de datos sin pérdida de información
20:46 quiz de Base de Datos y Persistencia con TypeORM
- 24

Cómo proteger contraseñas con hashing usando Bcrypt en NestJS
10:15 - 25

Serialización de datos para excluir campos sensibles en APIs
04:13 - 26

Configuración de autenticación con Passport en NestJS
19:16 - 27

Implementación de endpoint de login con Node.js y NestJS
09:09 - 28

Implementación de JSON Web Token para autenticación en NestJS
16:15 - 29

Protección de endpoints con JWT guards en NestJS
11:34 - 30

Automatización de user ID en APIs con JWT
11:48 quiz de Autenticación y Autorización
- 31

Integración del SDK de OpenAI en Node.js para automatizar contenido
28:26 - 32

Documentación automática de APIs con Swagger en NestJS
15:59 - 33

Preparar una API Node.js para producción: seguridad y despliegue
10:46 - 34

Desplegar aplicación Node.js a producción con Railway y PostgreSQL
21:11 - 35

Desarrollo de API REST escalable con NestJS en producción
02:36
En NestJS, la programación modular permite compartir y reutilizar lógica entre servicios, facilitando el crecimiento y mantenimiento del código. En esta clase se desarrolla cómo filtrar artículos (posts) tanto por usuario como por categoría, aprovechando servicios existentes y buenas prácticas de organización.
¿Cómo se reutilizan los servicios para obtener posts por usuario?
La lógica de negocio creada en PostService y CategoryService puede compartirse entre distintos controladores mediante la inyección de dependencias. Se destaca que:
- Se creó un endpoint en el users controller que recibe un ID de usuario y retorna sus artículos.
- El método get post by user ID se implementó dentro de user service, utilizando la relación bidireccional entre usuarios y posts (one-to-many).
- Se accede al array de posts a través de
user.post. - No es necesario incluir la información completa del usuario en cada artículo, a menos que la interfaz gráfica lo requiera (por ejemplo, mostrar siempre el avatar).
- Así, el servicio puede devolver solo los posts asociados sin sobrecargar otras consultas que no lo requieren.
¿Cómo se filtran posts por categoría de forma eficiente?
Para el reto de filtrar artículos por categoría, se analiza la mejor ubicación y forma de implementar el método:
- Si el método devuelve artículos, este debe vivir en PostService; si devolviera categorías, iría en CategoryService.
- No resulta obligatorio usar el category repository para resolver la relación. Alternativamente, se puede consultar directamente desde el post repository utilizando una condición where en las categorías.
- Esta estrategia ahorra pasos y limpia el flujo de datos, evitando acceder a la entidad de categoría cuando el interés son los posts.
- Al consultar los posts de una categoría, también se pueden traer otras relaciones como el user profile de cada post.
¿Cómo se integran múltiples servicios en los controladores?
La técnica central para reutilizar lógica es la inyección de dependencias:
- Los controladores pueden inyectar varios servicios según necesiten.
- En el caso del category controller, se inyecta al post service para aprovechar el método de filtrar posts por categoría.
- El endpoint GET de categorías no necesita replicar la lógica; solo reutiliza la función definida en el post service.
- Esta modularidad permite unir funcionalidades y mantener el código organizado.
¿Tienes ideas sobre otros escenarios donde reutilizar servicios facilitaría la vida del desarrollador? Comparte tu experiencia más abajo.