Video není dostupné.
Omlouváme se.

Angular Login - NodeJS Express TypeScript Sequelize MySQL y Jwt

Sdílet
Vložit
  • čas přidán 8. 08. 2024
  • Canal en ingles: / @tomiruizdiaz1
    ✅ Cupones cursos Udemy:
    truizdiaz.github.io/cupones/
    Canal en ingles: • Angular Material Tutor...
    En este tutorial crearemos un login usando Angular en el frontend, mientras que en el backend utilizaremos NodeJS, Express, TypeScript y Sequelize. La base de datos será MySQL y JWT (Json Web Token) para la autenticación de los usuarios
    Stack MEAN: • Curso MEAN - Angular, ...
    Angular Material + NodeJS: • Angular Material - No...
    NodeJS y JWT: • JWT Authentication Tut...
    CRUD Angular y NodeJS: • CRUD Angular - Node - ...
    Instalación MySQL: • Como instalar instalar...
    Repositorio front: github.com/truizdiaz/front-jw...
    Repositorio back: github.com/truizdiaz/back-jwt...
    00:00:00 - Introducción
    00:03:34 - Creación del backend - instalación de paquetes y conf iniciales
    00:13:37 - Estructura de carpetas y lanzamos el servidor
    00:23:49 - Configuración de rutas
    00:37:42 - Creación de modelos y GetProducts
    00:49:49 - Creación de usuarios
    01:04:20 - Agregar Producto Validaciones
    01:16:26 - Protegemos Rutas
    01:29:13 - Creación del frontend - Inst. de bootstrap y estructura del proyecto
    01:39:44 - Login HTML
    01:51:03 - Ruteo y registrar usuario HTML
    02:01:36 - Dashboard HTML
    02:06:57 - Integración SignIn
    02:34:53 - SignIn Mensajes
    02:48:48 - Integración Login
    03:03:21 - Interceptor
    03:20:58- Guard
    03:23:45 - Integracion List Products
    03:25:39 - Bug Interceptor
    #angular #node #jwt #login

Komentáře • 88

  • @johanmolina5686
    @johanmolina5686 Před rokem +1

    Que gran contenido mi hermano, explicas muy claramente, excelente vídeo

  • @DiegoLopez-cd3rc
    @DiegoLopez-cd3rc Před rokem

    Excelente! Muchas gracias 100% recomendado y me permitio avanzar con un proyecto personal, mas que agradecido.

  • @nestordelacruz1759
    @nestordelacruz1759 Před 8 měsíci

    muchas gracias, excelente explicación, me ha funcionado muy bien la autenticación para la aplicación que estoy desarrollando

  • @edilbertopatino1674
    @edilbertopatino1674 Před rokem

    Tomas. Excelente curso - tutorial; muchas gracias.

  • @user-ye9wk7qk1f
    @user-ye9wk7qk1f Před rokem +1

    Excelente video crack, me ha sido de mucha ayuda gracias. Sería genial que pudieses complementar este tutorial con lo que es gestion de roles. Gracias de nuevo y felicitaciones!!!!!

  • @sebastianvergarapineda9296

    Estos tutoriales son de lo mejor. Gracias estimado amigo

  • @rmhiso
    @rmhiso Před 5 měsíci

    Excelente, muy claro y facil de entender , gracias por compartir

  • @ExoticCarsAcceleration
    @ExoticCarsAcceleration Před 3 měsíci

    Contenido super claro! muchas gracias por compartir tus conocimientos de verdad

  • @yararamusica9236
    @yararamusica9236 Před rokem

    Muy bueno, excelente la explicación.Muchas gracias

  • @sumaelectronica5649
    @sumaelectronica5649 Před rokem

    Genio!!!, gracias a tus videos de angular pude avanzar con un proyecto de IoT que estaba desarrollando. ¡¡Muchas Gracias!!!

  • @cristiansama2
    @cristiansama2 Před rokem +2

    Que excelente tutoriales, mezcle este tuto de Login junto con el de el CRUD que manejo estas mismas tecnologías y me quedo un proyecto bastante completo.
    Muchas gracias, explicas de manera muy clara y se nota que sabes bastante.

    • @CompadreLucho
      @CompadreLucho Před 10 měsíci

      Hice lo mismo y el login queda con mejor vista utilizando el tema Bootswatch. También quiero aprovechar esta oportunidad para agradecer a @TomasRuizDiaz por proporcionar tutoriales tan claros y útiles. Su experiencia y conocimiento son evidentes, y estamos afortunados de contar con su guía.

  • @d-landjs
    @d-landjs Před 2 měsíci +2

    Excelente maestro, todo super entendible, 10/10 seria genial que vuelvas aplicando los conceptos nuevos de Angular 17!

  • @melisagonzalez1464
    @melisagonzalez1464 Před 7 měsíci

    excelente! completísimo! gracias!

  • @diegosalazar5397
    @diegosalazar5397 Před 5 měsíci

    Alto tutorial!! Gracias rey

  • @amirrashadbarrasalaues4066
    @amirrashadbarrasalaues4066 Před 6 měsíci

    Muchas gracias por el video!

  • @sergioandresjaimespimiento6953

    Va hacer mi primer login, muchas gracias por tu contenido

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem

      Exitos! También podes usar firebase! czcams.com/video/I808gGh9RTU/video.html

  • @FunctionDev
    @FunctionDev Před 11 měsíci

    mutio obrigado direto do Brasil 👏👏👏

  • @JHONTHERAP
    @JHONTHERAP Před 8 měsíci

    eres un crack gracias aunque en en Angular hoy en dia algunas cosas osn diferentes gracias..

  • @javtheghost3789
    @javtheghost3789 Před rokem +12

    Podrías subir un sistema de roles con nodejs y angular? Sería una gran ayuda

  • @alexandercapcha3580
    @alexandercapcha3580 Před rokem

    Hola Tomas, podrías hacer un curso de node Js. Muchas gracias por los videos me sirven muchísimo.

  • @luisfernandodeolazabalsche3317

    Muchas gracias.

  • @bnalvaro
    @bnalvaro Před rokem

    Hola, muy buen video, estoy tratando de integrar el otro tutorial de CRUD de productos con este de login. En el modelo producto, deberia hacer una referencia al usuario que lo esta cargando y de esta forma poder tener diferentes productos para cada usuario diferente? Gracias y saludos

  • @ElGamm
    @ElGamm Před rokem

    Hola, hermano. Use mucho tus videos estos dias, realmente me sirvieron un monton para hacer mi proyecto final de la diplomatura fullstack. Tengo una consulta, hay alguna forma de agregar el envio de mensajes entre usuarios?

  • @juangabrielalfonsorojas9323

    Hola, soy estudiante y quisiera hacerte una pregunta.. Muchas gracias me has ayudado mucho.

  • @jamito58
    @jamito58 Před rokem

    holas tomas gracias por los excelentes gran aporte que haces videos tomas estos utilizando keyup enter pero no me esta capturando el dato que pongo en input me llega vacío donde podre encontrar manuales

  • @totitocrack
    @totitocrack Před rokem

    Excelente contenido muy bien explicado!!
    Tengo una pequeña duda cuando trato de ingresar a la ruta del dashboard y no tengo el token, se despliega el mensaje de no autorizado.
    Revisando el codigo se despliega el guard primero y despues el interceptor. Que tendre que hacer ?

  • @user-vn8in7zj5b
    @user-vn8in7zj5b Před 29 dny

    30:05, Salud broder.

  • @jlonso1840
    @jlonso1840 Před měsícem

    Tomas God

  • @jhairdanielosoriogarzon9830
    @jhairdanielosoriogarzon9830 Před 10 měsíci +1

    Podrias crear un carrito de compras en angular, agregando el producto al carrito y haciendo la operación del valor por la cantidad para generar el pedido 👀😋

  • @brianguevara8636
    @brianguevara8636 Před rokem +9

    hay una parte faltante en el tutorial la parte en la que se hace la conccion al mysql :(

    • @andrestrada4
      @andrestrada4 Před 5 měsíci +2

      en este video en minuto 1:47:00 hace la creacion de la base de datos czcams.com/video/INeJQ_5fwYM/video.html

    • @andrestrada4
      @andrestrada4 Před 5 měsíci +2

      y en este otro explica como instalar mySQL czcams.com/video/z3aUjPpTh68/video.html

  • @francoisfernandezrivadenei1229
    @francoisfernandezrivadenei1229 Před 5 měsíci +1

    Excelente tutorial, he tenido algunos problemas porque estoy usando Angular 17 y por defecto se crea la app en standalone pero nada que no se pueda resolver. Pero tengo problemas con los cors no me permite conectar por mas que lo declare como lo hacer en el video.

    • @rrrealpe2932
      @rrrealpe2932 Před 3 měsíci

      Me pasa igual. ¿Alguien ha encontrado una solución? Me he pasado por todos los foros de StackOverFlow y no he encontrado una solución al tema de los cors.Agradecería que compartieran la solución si alguien la ha logrado encontrar.

  • @docstrangeyt2547
    @docstrangeyt2547 Před 3 měsíci +1

    Hola, cuáles son las versiones que utilizas?

  • @crisrodrigocallizayaquenta4012

    Gracias Mi king Kong

  • @fm4samuel454
    @fm4samuel454 Před 6 měsíci

    se podria hacer para cambiar la contraseña despues en otro componente?

  • @deimarjunior02
    @deimarjunior02 Před 2 měsíci

    Que versión de angular se usa?

  • @mauricioporrasmosquera1116

    bro me gusto el vídeo pero tengo una duda como hago para que un js funcione dentro de angular tengo que importar o como se hace

  • @Cocankoryyneina
    @Cocankoryyneina Před 8 měsíci +1

    en que momento creó el archivo conection.ts?

  • @skyz3
    @skyz3 Před rokem

    Se podria realizar este mismo proyecto con el ORM TypeORM.
    Gracias, excelente explicación.

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem

      Hola SuperSkyz, se debería cambiar la capa de acceso a datos.. lo demás quedaría todo igual =)

  • @franciscoantonioloy
    @franciscoantonioloy Před 11 měsíci

    Hola amigo como puedo hacer para que en el nav aparezca un dropdown con el nombre del usuario logeado?

  • @noesanchezsantiago.2617
    @noesanchezsantiago.2617 Před 3 měsíci

    he seguido el video tal cual y por alguna razon no me reconoce las variables de entorno las que se definen en el archivo .env, hay algo mas que hacer?

  • @stefanosalazar3329
    @stefanosalazar3329 Před rokem +6

    Hola tengo unas dudas amigos:
    1. Que podria hacer si quiere agregar roles y de acuerdo a esos roles entre o no a una ruta?.
    2. El token se puede validar para que en caso de que sea falsificado o creado de manera manual no me permita el ingreso?
    Gracias por el tutorial amigo !

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem +1

      Hola Stefano, el token cuando se crea se firma con una clave secreta (archivo validate-token.ts método jwt.verify). El usuario final puede crear un token 'falso'' pero si no esta firmado con la clave secreta el backend se lo va a rechazar. Puedes hacer la prueba =)

    • @mmanoloo8
      @mmanoloo8 Před rokem

      @@TomasRuizDiaz Y el tema de los roles como se podría hacer ?

  • @skyz3
    @skyz3 Před rokem

    Se podria realizar en este proyecto la relacion entre tablas con sequelize (otras tablas), con cardinalidad de 1:n y n:m
    gracias excelente explicacion

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem +1

      Hola SuperSky, gracias por el comentario! todavía no tengo nada sobre relaciones usando Sequelize, pero chequea la documentaciones estaba bastante bien explicado el tema!.

  • @davidgomez5190
    @davidgomez5190 Před rokem

    Hola! Muy bueno el video, muy bien explicado. Lo que quería preguntarte es si por algo en particular no optaste por una arquitectura controller->service->repository en lugar de que todo lo resuelva el Controller en el Server? Ojo, por ahí soy demasiado BE para analizar la estructura y en Node está bien que se haga todo ahí. Gracias

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem +1

      Hola David, gracias por el comentario. Totalmente correcto los que decís, no le quise meter más complejidad al proyecto para no complicar a los que están arrancando. Mínimamente cualquier backend mas allá de del lenguaje debería tener las 3 capas que mencionas + dtos y de ahi para arriba se puede complejizar mucho más. Saludos!

    • @stefanosalazar3329
      @stefanosalazar3329 Před rokem

      @@TomasRuizDiaz Que arquitectura o modelo se podria decir que estas empleando en el ejemplo del video?

  • @jamito58
    @jamito58 Před rokem

    Hola tomas gracias ya pude editar la información que quería disculpa que moleste tanto como podría activar y desactivar una casillas con un radio button

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem

      Hola Jaimito proba con [disabled]="true"

    • @jamito58
      @jamito58 Před rokem

      @@TomasRuizDiaz gracias tomas me sirvió

  • @AlguienllamadoYi
    @AlguienllamadoYi Před rokem +2

    hola, aprendi angular y node con tus videos y ahora estoy terminando una app para un cliente.
    pero resulta que cuando quiero hacer deploy de mi back end en Railway me da un error de una dependencia que es bcrypt. Estuve investigando y esa libreria de problemas.
    ¿Como podria hacer? ¿Me recomiendas otra libreria para encriptar?
    Gracias por compartir tus conocimientos, sigue subiendo mas videos de angular y node

    • @kindohneliebe
      @kindohneliebe Před 10 měsíci

      Si te refieres al mensaje " Cannot find module 'bcrypt'", a mi me llego a salir al desplegar en heroku, la unica solucion que busque es modificar las dependencias del package.json

  • @jamito58
    @jamito58 Před rokem

    hola tomas excelente video tomas yo estoy editando un formulario yo utilizo formulario reactivos si la persona nada mas quiere editar una parte de la información no todos los datos cuando le doy clic al botón de guardar los campos que no modifica en la base de datos llegan null yo le quite Validators.required como vi en video de mascotas que tu tiene que se lo quitas pero a un llegan los campos a la base de dato null como podría solucionar este ?

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem

      Hola Jaimito.. mm no se si entiendo bien el problema que estas teniendo.. fíjate de estar seteando todos los campos del formulario con el método setValue() o patchValue()

    • @jamito58
      @jamito58 Před rokem

      @@TomasRuizDiazpor ejemplo el de mascotas tu tienes 5 campos pero nada mas editar 3 campos los otros 2 permanece con los datos que ya tienen ahí está problema esos campos que no edito cuando le doy clic al botón actualizar en base de dato me llegan null yo los cargo de otra manera en el componente editar
      yo los cargo asi
      this.rutass.getArticuloid(this.data.asignId).subscribe (r =>{
      this.respuesta = r;

      this.id=''+this.respuesta[0].id_articulo;
      this.activofijo=''+this.respuesta[0].activofijo;
      this.marca =''+this.respuesta[0].marca;
      this.modelo= ''+this.respuesta[0].modelo;
      this.imei =''+this.respuesta[0].imei;
      this.serialsimcard= ''+this.respuesta[0].serialsimcar;

      this.numerocel = ''+this.respuesta[0].numerocel;
      this.contrasena_sim = ''+this.respuesta[0].contrasena_sim;

      this.ip = ''+this.respuesta[0].ip;
      this.cod_operador = ''+this.respuesta[0].cod_operador;


      this.puerto = ''+this.respuesta[0].puerto;
      this.estado = ''+this.respuesta[0].estado;
      this.fecha_asignacion = ''+this.respuesta[0].fecha_asignacion;
      this.fecha_asignacion = moment(this.fecha_asignacion).format('MM/DD/YYYY');
      //this.CurrentDate.getDate();
      //this.fecha_asignacion= moment(this.CurrentDate).format('DD/MM/YYYY');

      this.login_registro = ''+this.respuesta[0].login_registro;
      this.cod_tipoarticulo= ''+this.respuesta[0].cod_tipoarticulo;

      this.descripcion = ''+this.respuesta[0].descripcion;
      this.codzona=''+this.respuesta[0].codzona;

      this.codpunto = ''+this.respuesta[0].codpunto;
      this.nombre=''+this.respuesta[0].nombre;

      yo veo que tu pines
      nombre:data. "aqui te aparesen los datos que tiene en la interfaces" estoy en lo correcto. yo tengo una clase que se llama articulos pero no la tengo declarara como interfaces si no como una clase

    • @jamito58
      @jamito58 Před rokem

      @@TomasRuizDiaz tomas ya me los carga los datos pero no me muestra en formulario mustra este error
      0
      :
      activofijo
      :
      "234q"
      cod_operador
      :
      "875757"
      cod_tipoarticulo
      :
      "346"
      codpunto
      :
      "5571"
      codzona
      :
      1081
      contrasena_sim
      :
      "jhjghfh"
      descripcion
      :
      "dsfsfjhg"
      estado
      :
      "no activo"
      fecha_asignacion
      :
      "2022-09-14 10:18"
      fechasys
      :
      "2022-09-15 10:18"
      id_articulo
      :
      10
      imei
      :
      "3455g"
      ip
      :
      "11.31.66"
      login_registro
      :
      "CPkevin"
      marca
      :
      "jajajapo"
      modelo
      :
      "tigoi"
      nombre
      :
      "elida"
      numerocel
      :
      "4453t"
      puerto
      :
      "4"
      serialsimcar
      :
      "eewr456"
      :
      Array(0)
      core.js:6498 ERROR Error: Must supply a value for form control with name: 'activofijo'.
      at forms.js:3427:1
      at forms.js:3373:1
      at Array.forEach ()
      at FormGroup._forEachChild (forms.js:3368:1)
      at FormGroup._checkAllValuesPresent (forms.js:3425:1)
      at FormGroup.setValue (forms.js:3215:1)
      at SafeSubscriber._next (editar.component.ts:88:27)
      at SafeSubscriber.__tryOrUnsub (Subscriber.js:183:1)
      at SafeSubscriber.next (Subscriber.js:122:1)
      at Subscriber._next (Subscriber.js:72:1)

  • @M4oH4cK
    @M4oH4cK Před 4 měsíci

    todo estaba bien hasta que me sale un error donde dice que localstorage no esta definida alguien me podria ayudar

  • @angelpena2957
    @angelpena2957 Před rokem +1

    Hola realizando el tutorial se corta la parte donde hace la conexion a MySQL no puedo continuar :(

    • @andrestrada4
      @andrestrada4 Před 5 měsíci

      mira las respuestas del comentario de @brianguevara8636

  • @valerio9851
    @valerio9851 Před 9 měsíci

    pero como puede ser que haya cortado la parte clave y mas importante del video? lo de la conexión de sql?

    • @andrestrada4
      @andrestrada4 Před 5 měsíci

      mira las respuestas del comentario de @brianguevara8636

  • @franciscoantonioloy
    @franciscoantonioloy Před 11 měsíci +1

    Hola Amigo, en que momento del video creas la base de dato?

    • @JHONTHERAP
      @JHONTHERAP Před 8 měsíci

      en un tutotial anterior

    • @andrestrada4
      @andrestrada4 Před 5 měsíci

      mira las respuestas del comentario de @brianguevara8636

  • @user-vn8in7zj5b
    @user-vn8in7zj5b Před 27 dny

    sub

  •  Před rokem

    Todo esta super bien, soloq ue no se en que momento hiciste lo de sequelize, de la nada aparecio y al inicio me confundio y ya solo vi como lo habias echo y lo repliquem, pero esa parte no se muestra en el video xD

    • @TomasRuizDiaz
      @TomasRuizDiaz  Před rokem

      Hola Alfredo, el minuto 37:42 configuramos sequalize. Saludos!

    • @Davaz753
      @Davaz753 Před rokem

      @@TomasRuizDiaz Hola !! Yo ando igual hehe lo que pasa es que aparecio creado el achivo de connections.ts en el db, ese pues no se mostro como aparecio

    • @lauraobando5150
      @lauraobando5150 Před rokem

      @@Davaz753 Holaa, pudiste hacer bien la conexión?

    • @Davaz753
      @Davaz753 Před rokem

      @@lauraobando5150 si. Me tocó entrar a descargar el proyecto de git y ya listo

    • @andrestrada4
      @andrestrada4 Před 5 měsíci

      mira las respuestas del comentario de @brianguevara8636

  • @ortizjeison
    @ortizjeison Před 7 měsíci

    Muchacho, estoy viendo tu video, y en la parte de "creación de modelos getProducts", te saltaste el proceso de la creación del archivo "connection.ts" de la carpeta "db" y del proceso "dbConnection" del archivo "server.ts", tuve que arreglarmelas para poder continuar con el video,
    lo único a destacar para quien quiera seguir el video desde ahí, es que toca copiar tal cual se alcanzan a ver en esos archivos y también toca revisar los permisos del mysql para colocar los datos adecuados (porque en este caso pones de contraseña "admin123" pero la mayoría no lo tiene con contraseña entonces van vacías las comillas) , además de que toca crear la base de datos "rrhh" para que funcione ya que el método no crea la base de datos, solo las tablas

    • @rrrealpe2932
      @rrrealpe2932 Před 3 měsíci

      Gracias @ortizjeison, información valiosa. Muchas gracias Tomas. ¿Tienes curso en Udemy sobre este tema? He buscado en Udemy un curso tuyo de pago sobre node.js pero no he encontrado. Este es un gran curso.

  • @lutfiprasetya5092
    @lutfiprasetya5092 Před rokem

    your tutorial is very difficult to follow 😅