Desarrollo con NestJS

APIs y backends con NestJS y TypeScript: módulos, guards, tareas programadas, pagos y tiempo real. Desarrollador fullstack en Castellón.

Qué es NestJS

NestJS es un framework para construir el backend de una aplicación con Node.js y TypeScript. Organiza el código en módulos, controladores y servicios, y trae de serie piezas como validación, inyección de dependencias o documentación de la API. Es, junto con Angular, la base de mi especialidad.

Cómo lo uso

Estructuro cada API por funcionalidades: autenticación, usuarios, pagos, notificaciones, administración. Cada una es un módulo con sus controladores, servicios y DTOs, y sus pruebas al lado.

  • Seguridad en guards. Separo la comprobación de identidad (token JWT o el token de un proveedor como Supabase Auth) de la de permisos: un guard decide si estás autenticado y otro si puedes actuar sobre ese recurso concreto o si tu plan lo incluye.
  • Validación estricta. Activo una validación global que descarta campos no declarados y convierte los tipos, así lo que llega a los servicios ya está limpio.
  • Interceptores para auditar acciones sensibles y medir tiempos de respuesta.
  • Tareas programadas con el módulo de scheduling de Nest: limpiezas de datos antiguos, procesos periódicos y trabajos en segundo plano.
  • Tiempo real con WebSockets para enviar logs y cambios de estado al panel sin recargar.
  • Pagos con Stripe: suscripciones, licencias y códigos promocionales.
  • Documentación de la API con Swagger cuando la va a consumir otra persona o equipo.

Para los datos he pasado por TypeORM en proyectos anteriores; hoy prefiero SQL directo sobre PostgreSQL cuando necesito control, o Supabase cuando quiero autenticación gestionada. Las pruebas unitarias las escribo con Jest y empaqueto el servicio en Docker.

Proyectos donde lo he usado

  • RustCommander: la API de mi panel para servidores de Rust. Gestiona servidores, jugadores, consola remota en tiempo real, mapas, copias de seguridad, equipos con permisos, suscripciones con Stripe y métricas. Tiene decenas de pruebas unitarias.
  • El backend de un marketplace propio de encargos para creadores de mods: publicaciones, propuestas, chat directo, referidos y subida de imágenes optimizadas, con autenticación delegada en Supabase.
  • APIs anteriores para una comunidad de servidores de juego, con login de Steam, pagos y tareas programadas.

Cuándo lo recomiendo y cuándo no

Lo recomiendo cuando el backend es el corazón del proyecto: muchas reglas de negocio, varios tipos de usuario, integraciones con terceros, o cuando lo van a usar a la vez una web, una app móvil y otros sistemas. Su estructura ayuda a que el código siga siendo ordenado cuando el proyecto crece o entra más gente a trabajar en él.

No lo recomiendo para una web con un formulario de contacto o un panel pequeño. Ahí un proyecto Next.js con su propia API resuelve lo mismo con menos piezas y menos coste de mantenimiento.

Preguntas frecuentes

¿NestJS sirve para una app móvil?

Sí. La app móvil consume la misma API que la web, así que la lógica se escribe una sola vez.

¿Se puede conectar con mi ERP, CRM o pasarela de pago?

Si el servicio ofrece una API, sí. Cada integración va en su propio módulo para que un cambio del proveedor no afecte al resto.

¿Es difícil de mantener por otro desarrollador?

Al contrario: NestJS impone una estructura conocida, y cualquier persona que lo haya usado se orienta rápido.

¿Necesitas una API o un backend a medida? Pídeme presupuesto.

¿Hablamos de tu proyecto?

Cuéntame qué necesitas y te respondo con una propuesta y un precio cerrado.