Crea una API REST con Nest.js: MySQL, TypeORM, TypeScript | Tutorial 2023

Поділитися
Вставка
  • Опубліковано 1 сер 2024
  • ¡Bienvenidos a esta emocionante serie de tutoriales sobre cómo construir un poderoso CRUD utilizando Nest.js, MySQL, TypeORM y TypeScript! En esta primera entrega, te guiaré paso a paso en la creación de las operaciones básicas de Crear, Leer, Actualizar y Eliminar (CRUD) dentro de una aplicación web.
    Nest.js es un marco de trabajo progresivo y eficiente para Node.js, que nos permite construir aplicaciones escalables y robustas utilizando TypeScript. Aprovecharemos la potencia de Nest.js para crear una API RESTful que se conecte a una base de datos MySQL mediante TypeORM, un ORM (Mapeo Objeto-Relacional) que nos simplificará la interacción con la base de datos y la manipulación de nuestros datos.
    En esta primera parte, abordaremos la configuración inicial del proyecto, la instalación de las dependencias necesarias y la creación de la estructura básica del servidor con Nest.js. Además, te mostraré cómo configurar la conexión con la base de datos MySQL a través de TypeORM para que podamos empezar a modelar nuestras entidades y definir nuestras relaciones.
    Si eres un entusiasta de Node.js y te interesa aprender a desarrollar aplicaciones web con tecnologías modernas y eficientes, esta serie de videos es perfecta para ti. Asegúrate de suscribirte al canal y activar las notificaciones para no perderte ninguna entrega. ¡Vamos a empezar a construir juntos este emocionante proyecto CRUD con Nest.js, MySQL, TypeORM y TypeScript!
    Artículo:
    👌 bluuweb.dev/nestjs/crud-mysql...
    👌 Código Github: bit.ly/3DFkl6R
    👌 Playlist Nest.js: bit.ly/3Ow7JW4
    Cursos PREMIUM en UDEMY:
    🧨 HTML + CSS + Bootstrap 5: bit.ly/3iyMBh3
    🧨 Vue 3 + Firebase: bit.ly/3IwyHGJ
    🧨 React + Firebase: bit.ly/3JCSsht
    🧨 HTML y CSS (gratis): bit.ly/3PM4x5U
    #nestjs #typescript #mysql
    Capítulos:
    00:00:00 Introducción
    00:03:00 TypeORM
    00:06:25 Nest.js CLI
    00:12:52 Docker compose
    00:17:42 Visualizar Base de datos
    00:20:51 CLI Resource cats
    00:26:45 Class Validator
    00:32:05 Conexión a base de datos
    00:38:53 Repository Pattern
    00:41:15 Entity
    00:46:38 Utilizando Repository Pattern
    00:49:58 create cat DTO
    01:03:00 Sorft Delete
    01:07:38 Update
    01:15:54 Relaciones SQL
    01:55:49 Resumen
    Redes Sociales:
    💩 bluuweb.dev
    💩 Discord: bit.ly/3lpz7J2
    💩 / bluuweb
    💩 / bluuweb_youtube
    💩 / bluuweb
    💩 / bluuweb
    💩 Regala un Cafecito para bluuweb: www.paypal.me/bluuweb
    Mi Setup:
    ⭐️ Teclado Mecánico: amzn.to/3Ns6fdK
    ⭐️ Audífonos: amzn.to/3pwrzqt
    ⭐️ Micrófono: amzn.to/3JH4tV7
    ⭐️ Monitor: amzn.to/3NTt8Iu
    ⭐️ Procesador: amzn.to/3raD4EC
    ⭐️ Tarjeta de Video: amzn.to/437t78b

КОМЕНТАРІ • 53

  • @josuedavidortiz1554
    @josuedavidortiz1554 6 місяців тому +2

    Epa.. estoy viendo el video.. en el minuto 11 te dicen que no sabes enseñar.. ese señor esta loco.. me ayudaste un monton a aprender mientras buscaba tutoriales cuando estaba en la uni.. y ahora años después de graduarme veo tus videos... así que ese señor esta loco.. gracias por tu trabajo men.. saludos desde Venezuela

  • @puchijl
    @puchijl 4 місяці тому +1

    Pucha que agradable aprender con un profe tan simpatico y mas encima que sabe lo que enseña, miles de gracias.

  • @FiregoreHardstyle
    @FiregoreHardstyle 29 днів тому

    si quieres eliminar algo usa el repositorio eeeeeh.... y si quieres eliminar algo usa el repositorio jajaja me hizo gracia, buen video y bien explicado

  • @guillermonarvaez8486
    @guillermonarvaez8486 4 місяці тому

    Excelente video gracias!!!!

  • @AlexCera-zm5vg
    @AlexCera-zm5vg Місяць тому

    Excelente todo el contenido de este video :)
    Hago este pequeño aporte para que puedan reutilizar el DTO de create con el DTO de update con propiedades no obligatorias.
    PartialType(CreateCatDto, { skipNullProperties: true })

  • @elasesinocerebral96
    @elasesinocerebral96 6 місяців тому

    Excelente vídeo, explicado y todo, soy front pero quiero meterme al back para un proyecto personal y esto me ayudo a hacerlo en poco tiempo, sigue así!!

  • @agiraldodev
    @agiraldodev Рік тому +3

    Parte 2 urgente! Muy buen video Nacho! Saludos.

    • @bluuweb
      @bluuweb  Рік тому +4

      jajaja muchas gracias! estamos en eso pronto pronto 🤙🏽

  • @paulpna
    @paulpna Рік тому +1

    que bueno que vuelvas por aca!! gracias por compartir!

    • @bluuweb
      @bluuweb  Рік тому

      Gracias a ti por el apoyo 🙌🏽

  • @Gustav-dev
    @Gustav-dev Рік тому +4

    Volviste a UA-cam!! Que bien.

    • @bluuweb
      @bluuweb  Рік тому +3

      siii, estoy estudiando para entregar siempre videos tutoriales 😊

  • @criptoinversionista8639
    @criptoinversionista8639 8 місяців тому

    exelente

  • @rodrigoguzman6084
    @rodrigoguzman6084 Рік тому +1

    Primero :) espectacular esta serie!!! gracias Nacho

    • @bluuweb
      @bluuweb  Рік тому +1

      Gracias a ti! pronto se viene la autenticación y autorización 😊

  • @code_castle
    @code_castle Рік тому +5

    Yo iba a dormir... Pero pero pero cuando vi esto, simplemente debía quedarme a verlo completo... que brutal gracias.🎉🎉🎉
    Por fa podrías enseñarnos como desplegar lo en railway??😮😅

    • @bluuweb
      @bluuweb  Рік тому +1

      Hola, muchas gracias 😊 se vienen las secciones de jwt y luego el deploy... aunque ahora creo que utilizaré render o similar ya que railway pasó a ser de pago :( Saludos

  • @kimychan5908
    @kimychan5908 Рік тому +1

    genial, esta muy bueno el tutorial felicidades

    • @bluuweb
      @bluuweb  Рік тому +1

      Muchas gracias a ti!!! 😊

  • @soldadopreciso
    @soldadopreciso 5 місяців тому

    1:10:57 yo creo que no se puede escribir comentarios en el request. en mi caso el update con el PartialType funciono correctamente. Gracias y saludos Ignacio alias Bluuweb.

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 11 місяців тому +1

    Me perdí unos dias del directo , pero ya ando por aquí Guillermo , estan excelente los videos, asi que me los veré en orden ! 03:01 es un momento epico ajajajjaja

    • @bluuweb
      @bluuweb  11 місяців тому +2

      jajajajaja de nada "Juan", espero verte en directo esta semana 😊 Saludos

    • @Deus-lo-Vuilt
      @Deus-lo-Vuilt 11 місяців тому

      @@bluuweb ahí andaré

  • @Quepolemico
    @Quepolemico 9 місяців тому

    Hola tengo un monton de dudas
    si quisiera conectarlo con mi front y lo estoy haciendo con angular de como hariia unos formularios como para tipos encuestas

  • @fercho1463
    @fercho1463 10 місяців тому

    donde encuentro el video anterior a este de como funcionan los modulos y los controladores? como lo dice el profe en este video

  • @Pekarnick
    @Pekarnick Рік тому +1

    Tiene muy buena pinta, me hace acordar a los generadores para hacer los crud que traen los framework php... pero una duda, como quedaron guardados los archivos en la base de datos, hace un "populate" automático o guarda la entidad en la fila de la tabla cats?

    • @bluuweb
      @bluuweb  Рік тому +2

      Hola, por lo que he averiguado las entidades se mapean en tablas, ósea realizan automáticamente el mapeo directo de los objetos a registros en las tablas de la base de datos. No se si eso aclara tu pregunta. Saludos
      Fuente: desarrolloweb.com/articulos/entidades-typeorm

  • @valentinurcullu4222
    @valentinurcullu4222 11 місяців тому

    hola nacho! que extension usas para que te importe solo las cosas y cual usas para que te prediga lo que tenes que poner? muchas gracias!

  • @mauriciorey100
    @mauriciorey100 7 місяців тому

    buenas tardes, la verdad no me deja pasar de la sentencia de nest new . me genera un error de ejecucion de scripts esta deshabilitada?? alguien podria ayudarmea solucionar este error? gracias

  • @miguelbrown553
    @miguelbrown553 2 місяці тому

    Alguien que tenga el link donde explica las bases de nestjs, no lo encuentro, please

  • @bernardosoler6196
    @bernardosoler6196 5 місяців тому

    cuando se guarda el cat solo se guarda el id de la raza verdad ? ayudaa

  • @cjavat8911
    @cjavat8911 5 місяців тому

    Oye bro, ¿Piensas sacar un curso completo en Udemy?

  • @antrox_169
    @antrox_169 2 місяці тому

    Hermano resien te conozco te busque en twchi y ya no has publicado videos ni echo directos 😢

  • @alvaroaliaga7892
    @alvaroaliaga7892 8 місяців тому +3

    Es genial lo que hace Nest con las relaciones, pero ya laravel lo hace muchos años y sin mucha configuracion. Claro esta que nest esta orientado a modulos y tiene otras ventajas que laravel no tiene. En realidad no lo hace nest ni tampoco lo hacel laravel...lo hace typeorm para nest y eloquent para laravel

  • @fernandomoran3163
    @fernandomoran3163 Рік тому +2

    Como detectar al usuario si esta logiado para que no lo vuelva a hacer en express

    • @bluuweb
      @bluuweb  Рік тому +3

      Hola, en el próximo video realizaremos la autenticación y autorización 😊 Saludos

  • @zte185
    @zte185 Рік тому

    Crees que si tengo tiempo sea mejor opción estudiar Python para aprender django? Lo comento por la oferta laboral mas grande. Gracias.

    • @bluuweb
      @bluuweb  11 місяців тому +1

      Hola, si tienes tiempo pues adelante nunca será malo aprender nuevas tecnologías. En cuanto a lo laboral no siempre lo más demandado será la mejor opción, quizás hay más ofertas pero también mas personas con esos conocimientos por ende la competencia será más fuerte y la empresa tendrá el poder de negociación. pero esto es solo un supuesto y por eso digo que no siempre será la mejor opción. Saludos

    • @zte185
      @zte185 11 місяців тому

      @@bluuweb gracias!

  • @convergentestudio
    @convergentestudio Рік тому

    yo no puedo instalar ni usar el flamante Docker tengo un OS antiguo y no me deja usarlo ni instalarlo

    • @bluuweb
      @bluuweb  Рік тому

      Hola, en ese caso puedes descargar mysql directamente o bien trabajar con postgres, etc. Esa es la facilidad del ORM que puedes utilizar múltiples bases de datos 😊. Saludos

  • @mikehurtado4772
    @mikehurtado4772 Рік тому +1

    HeidiSQL

    • @bluuweb
      @bluuweb  Рік тому +1

      Wooo yo no lo he utilizado pero muchas gracias por la alternativa 😊 Saludos

    • @mikehurtado4772
      @mikehurtado4772 Рік тому +1

      @@bluuweb Pruebalo

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 3 місяці тому

    Aqui volví justo ando con Nestjs , me toca ver al Bluuweb del pasado a ver si das signos de vida un dia de estos ajajaj ❤ PD: Caundo tienes un error en 1:11:05 indicando que tu Dto de Update no encuentra la propiedad Name , es porque en el servicio pusiste this.catsRepository.update( id , updateCatDto); pero el id era un objeto this.catsRepository.update({ id }, updateCatDto); por eso no funcionó , agregandolo como un objeto que fue la forma que usaste en todos los demas verbos funciona correctamente , un abrazo! pd2: Aprendí Nest por fin con tu video 🎈🙌

  • @MiguelSilva-ur9xd
    @MiguelSilva-ur9xd Рік тому

    ese ORM se parece al ORM hibertnate xd

    • @bluuweb
      @bluuweb  Рік тому

      genial! no lo conozco pero supongo que será genial jajaja Saludos

  • @SEBASTIANPALMA100
    @SEBASTIANPALMA100 Рік тому

    perdon? se borro mi comentario anterior?

  • @gonzaloquispefernandez8303
    @gonzaloquispefernandez8303 Місяць тому

    django es más sencillo :v

  • @MrByteMx
    @MrByteMx 10 місяців тому

    Como siempre, maravilloso contenido.
    Como dato, en Mac no podia levantar el contender de docker para la DB, tuve que agregar lo siguiente al docker-composer.yml
    MYSQL_ALLOW_EMPTY_PASSWORD:
    MYSQL_RANDOM_ROOT_PASSWORD:
    Tenia este error
    You need to specify one of the following as an environment variable: