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
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
Pucha que agradable aprender con un profe tan simpatico y mas encima que sabe lo que enseña, miles de gracias.
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
Excelente video gracias!!!!
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 })
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í!!
Parte 2 urgente! Muy buen video Nacho! Saludos.
jajaja muchas gracias! estamos en eso pronto pronto 🤙🏽
que bueno que vuelvas por aca!! gracias por compartir!
Gracias a ti por el apoyo 🙌🏽
Volviste a UA-cam!! Que bien.
siii, estoy estudiando para entregar siempre videos tutoriales 😊
exelente
Primero :) espectacular esta serie!!! gracias Nacho
Gracias a ti! pronto se viene la autenticación y autorización 😊
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??😮😅
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
genial, esta muy bueno el tutorial felicidades
Muchas gracias a ti!!! 😊
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.
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
jajajajaja de nada "Juan", espero verte en directo esta semana 😊 Saludos
@@bluuweb ahí andaré
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
donde encuentro el video anterior a este de como funcionan los modulos y los controladores? como lo dice el profe en este video
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?
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
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!
El autocompletado es con copilot, saludos
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
Alguien que tenga el link donde explica las bases de nestjs, no lo encuentro, please
cuando se guarda el cat solo se guarda el id de la raza verdad ? ayudaa
Oye bro, ¿Piensas sacar un curso completo en Udemy?
Hermano resien te conozco te busque en twchi y ya no has publicado videos ni echo directos 😢
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
buen comentario
Como detectar al usuario si esta logiado para que no lo vuelva a hacer en express
Hola, en el próximo video realizaremos la autenticación y autorización 😊 Saludos
Crees que si tengo tiempo sea mejor opción estudiar Python para aprender django? Lo comento por la oferta laboral mas grande. Gracias.
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
@@bluuweb gracias!
yo no puedo instalar ni usar el flamante Docker tengo un OS antiguo y no me deja usarlo ni instalarlo
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
HeidiSQL
Wooo yo no lo he utilizado pero muchas gracias por la alternativa 😊 Saludos
@@bluuweb Pruebalo
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 🎈🙌
ese ORM se parece al ORM hibertnate xd
genial! no lo conozco pero supongo que será genial jajaja Saludos
perdon? se borro mi comentario anterior?
Hola, cual era?
django es más sencillo :v
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: