Configuración de Autenticación en Proyectos Mongo y TimeORM

Clase 2 de 22Curso de NestJS: Autenticación con Passport y JWT

Resumen

¿Cómo iniciar el proyecto de Platzi Store y configurar autenticación en Mongo?

Iniciar un proyecto desde cero puede ser un desafío, pero con las instrucciones correctas, el proceso se vuelve mucho más manejable. Este es el caso de nuestro proyecto de Platzi Store, que se inicia a partir del código base previamente establecido en otro curso de Mongo. Además, es fundamental tener en cuenta la técnica de autenticación, la cual, sin importar el tipo de persistencia de datos, se mantendrá igual. Este tutorial se centra en comenzar a trabajar con Mongo y preparar el entorno para la autenticación y autorización.

¿Cómo clonar el proyecto desde Platzi?

El primer paso para trabajar en el proyecto de Mongo es clonar el repositorio desde GitHub. Te indicamos cómo hacerlo:

  1. Abre la terminal en tu computadora.

  2. Clona el proyecto desde la rama master del siguiente repositorio: platzi/nesdsds mongodatos. Asegúrate de tener acceso al repositorio.

  3. Una vez clonado, instala las dependencias necesarias con el comando npm install.

    git clone https://github.com/platzi/nesdsds-mongodatos.git
    cd nesdsds-mongodatos
    npm install
    
  4. Para mantener una copia local, desvincula el repositorio original y haz que tu proyecto quede en tu propio repositorio. Esto se hace mediante los comandos:

    git remote rm origin
    git remote add origin <tu-nuevo-repositorio>
    

¿Cómo configurar las variables de entorno?

Las variables de entorno son cruciales para la configuración del proyecto. Estas se gestionan mediante archivos locales que no deben subirse al repositorio por razones de seguridad. Aquí los pasos:

  1. Crea el archivo .env.staging para definir el entorno de desarrollo o producción.

  2. Replica las mismas variables utilizadas previamente o configúralas acorde a las necesidades del nuevo entorno en el que estés trabajando.

    DB_HOST=localhost
    DB_USER=<tu_usuario>
    DB_PASS=<tu_contraseña>
    

¿Cómo correr el proyecto en modo desarrollo?

Después de configurar tus variables de entorno y de haber clonado el repositorio, es momento de correr tu proyecto localmente:

  1. Asegúrate que el servicio de bases de datos Mongo está corriendo. Si estás utilizando contenedores, inicializa el servicio adecuado.

  2. Verifica que Mongo se está ejecutando correctamente en el puerto designado.

    docker-compose up -d
    
  3. Inicia el proyecto en modo desarrollo usando el siguiente comando:

    npm run start:dev
    

¿Cómo verificar el funcionamiento de los endpoints?

Para verificar el correcto funcionamiento de los endpoints, puedes utilizar herramientas como Insomnia o Postman. Estos permiten testear las solicitudes HTTP a tus endpoints creados para el proyecto.

  • Crea y consulta productos, y asegúrate de que las respuestas sean las esperadas desde tu proyecto de MongoDB.

    Puedes probar creando un producto con:

    {
      "name": "producto-nuevo",
      "price": 50,
      "description": "Un nuevo producto de prueba"
    }
    

Y luego confirmar su creación mediante la consulta de productos disponibles.

Establecer una arquitectura sólida desde el principio te permitirá añadir capas adicionales de funcionalidades, como autenticación y autorización, en etapas posteriores sin mucho esfuerzo. Mantente atento a la siguiente lección, donde se abordará la configuración en un entorno relacional con TimeORM.