Skip to content

Instantly share code, notes, and snippets.

@WanerValencia
WanerValencia / nest-aws-ses.md
Created June 20, 2023 02:37
Enviar mails con AWS SES en Nestjs

AWS SES con Nodemailer en NestJS

En esta sección, aprenderemos cómo configurar y utilizar el servicio de correo electrónico AWS SES (Simple Email Service) con Nodemailer en una aplicación NestJS. AWS SES es un servicio de correo electrónico escalable y rentable que te permite enviar correos electrónicos en aplicaciones web y móviles.

Instalación de paquetes

Primero, asegúrate de tener los siguientes paquetes instalados en tu proyecto de NestJS:

$ npm install aws-sdk nodemailer
@WanerValencia
WanerValencia / nest-google-passport.md
Created June 20, 2023 02:28
Autenticación Google y Passport en Nestjs

Inicio de sesión con Google en NestJS

La autenticación con Google se realiza a través de una estrategia de Passport llamada GoogleStrategy, que se configura utilizando un ID de cliente de Google, un secreto de cliente y una URL de devolución de llamada.

Paquetes necesarios

Para lograr la autenticación con Google, necesitamos instalar las siguientes dependencias en nuestro proyecto:

NPM:

npm install --save passport-google-oauth20
@WanerValencia
WanerValencia / nest-jwt-passport.md
Last active February 25, 2024 04:42
Autenticación con JWT y Passport en Nestjs

Autenticación con JWT y Passport en Nestjs

La autenticación es un componente esencial en la mayoría de las aplicaciones modernas, y JWT (JSON Web Tokens) es un método comúnmente utilizado para manejarla. En este contexto, usaremos Passport, un popular middleware de autenticación para Node.js, y NestJS proporciona una integración sencilla para Passport.

Instalación de dependencias

NPM:

npm install --save @nestjs/jwt @nestjs/passport passport passport-jwt
@WanerValencia
WanerValencia / nest-security.md
Last active November 8, 2024 23:19
Recomendacion de seguridad en NESTJS

Recomendaciones de seguridad en NestJS

La seguridad es un aspecto crucial en cualquier aplicación web. A continuación, se proporcionan algunas recomendaciones para mejorar la seguridad en las aplicaciones NestJS.

1. Validación de entrada

La validación de la entrada del usuario es fundamental para proteger tu aplicación de ataques maliciosos, como la inyección de SQL. NestJS utiliza la biblioteca class-validator para la validación, que se puede integrar fácilmente con los DTOs (Data Transfer Objects).

Ejemplo:

@WanerValencia
WanerValencia / nest-swagger.md
Created June 20, 2023 01:46
Uso del paquete @nestjs/swagger para documentar tu API en NestJS

Documentación completa del paquete @nestjs/swagger

Para comenzar a utilizar Swagger con NestJS, es necesario instalar el paquete @nestjs/swagger usando npm o yarn:

npm install @nestjs/swagger
# o
yarn add @nestjs/swagger
@WanerValencia
WanerValencia / nest-recomendations.md
Last active April 28, 2024 02:30
Recomendaciones de buenas prácticas en NestJS

Recomendaciones de buenas prácticas en NestJS

  1. Uso adecuado de los decoradores: NestJS proporciona una serie de decoradores para ayudarte a desarrollar tu aplicación de manera más eficiente. Por ejemplo, los decoradores @Get(), @Post(), @Put(), @Delete() y @Patch() en tus controladores te permiten manejar fácilmente los diferentes tipos de solicitudes HTTP. Los decoradores @Body(), @Query(), @Param(), etc., te permiten acceder a diferentes partes de la solicitud HTTP.

    @Post('register')
    async register(@Body() createUserDto: CreateUserDto) {
      return this.authService.register(createUserDto);
    }
@WanerValencia
WanerValencia / nest-features.md
Created June 20, 2023 01:37
Funcionalidades basicas en nestjs

Funcionalidades principales de NestJS

NestJS tiene varias características principales que lo hacen muy eficiente y modular. A continuación, se presentan algunas de estas características junto con ejemplos de código para una mejor comprensión:

Controladores

Los controladores son responsables de manejar las solicitudes entrantes y devolver las respuestas al cliente. En NestJS, un controlador es simplemente una clase que se anota con el decorador @Controller.

import { Controller, Get } from '@nestjs/common';
@WanerValencia
WanerValencia / nest-names.md
Created June 20, 2023 01:28
Nomenclatura de archivos y carpetas recomendada para NestJS

Nomenclatura de archivos y carpetas recomendada para NestJS

NestJS tiene una estructura de carpetas y convención de nombres muy bien definida y fácil de seguir. El uso de esta convención ayuda a mantener la coherencia y previsibilidad en tu código.

Carpetas

NestJS utiliza una arquitectura modular, y cada módulo de la aplicación reside en su propia carpeta. Los nombres de las carpetas generalmente son en plural y en minúsculas. Por ejemplo, si estás creando una aplicación con usuarios y tareas, tu estructura de carpetas podría ser la siguiente:

src/
@WanerValencia
WanerValencia / nest-cli-overview.md
Last active August 23, 2023 15:01
NEST CLI OVERVIEW

NestJS

NestJS es un marco de trabajo de servidor eficiente, confiable y escalable para aplicaciones web basado en Node.js y TypeScript. NestJS utiliza principios de programación orientada a objetos, programación funcional y programación funcional reactiva. Fue diseñado para ayudar a los desarrolladores a crear aplicaciones de una manera sencilla y coherente, proporcionando un ecosistema de aplicación completo que incluye todo, desde el manejo de solicitudes HTTP hasta la abstracción de bases de datos.

Uso de la interfaz de línea de comandos (CLI) de NestJS

La interfaz de línea de comandos (CLI) de NestJS es una herramienta poderosa que facilita el desarrollo y la organización de tu aplicación NestJS. La CLI puede crear esqueletos de los distintos componentes de tu aplicación, como módulos, servicios y controladores, entre otros.

Instalación