Angular Login - NodeJS Express TypeScript Sequelize MySQL y Jwt

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

Пікірлер: 84

  • @d-landjs
    @d-landjs29 күн бұрын

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

  • @yesseniaortegajilote9771

    @yesseniaortegajilote9771

    10 күн бұрын

    que versión de angular esta usando en el video?

  • @edilbertopatino1674
    @edilbertopatino1674 Жыл бұрын

    Tomas. Excelente curso - tutorial; muchas gracias.

  • @johanmolina5686
    @johanmolina5686 Жыл бұрын

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

  • @DiegoLopez-cd3rc
    @DiegoLopez-cd3rc Жыл бұрын

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

  • @nestordelacruz1759
    @nestordelacruz17596 ай бұрын

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

  • @sebastianvergarapineda9296
    @sebastianvergarapineda9296 Жыл бұрын

    Estos tutoriales son de lo mejor. Gracias estimado amigo

  • @TomasRuizDiaz

    @TomasRuizDiaz

    Жыл бұрын

    Gracias por el comentario sebastian!

  • @yararamusica9236
    @yararamusica9236 Жыл бұрын

    Muy bueno, excelente la explicación.Muchas gracias

  • @rmhiso
    @rmhiso3 ай бұрын

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

  • @ExoticCarsAcceleration
    @ExoticCarsAccelerationАй бұрын

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

  • @user-ye9wk7qk1f
    @user-ye9wk7qk1f Жыл бұрын

    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!!!!!

  • @sumaelectronica5649
    @sumaelectronica5649 Жыл бұрын

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

  • @TomasRuizDiaz

    @TomasRuizDiaz

    Жыл бұрын

    😊

  • @cristiansama2
    @cristiansama2 Жыл бұрын

    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

    8 ай бұрын

    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.

  • @melisagonzalez1464
    @melisagonzalez14645 ай бұрын

    excelente! completísimo! gracias!

  • @diegosalazar5397
    @diegosalazar53973 ай бұрын

    Alto tutorial!! Gracias rey

  • @amirrashadbarrasalaues4066
    @amirrashadbarrasalaues40664 ай бұрын

    Muchas gracias por el video!

  • @sergioandresjaimespimiento6953
    @sergioandresjaimespimiento6953 Жыл бұрын

    Va hacer mi primer login, muchas gracias por tu contenido

  • @TomasRuizDiaz

    @TomasRuizDiaz

    Жыл бұрын

    Exitos! También podes usar firebase! kzread.info/dash/bejne/e2xkmsmAmJy4hLg.html

  • @FunctionDev
    @FunctionDev9 ай бұрын

    mutio obrigado direto do Brasil 👏👏👏

  • @luisfernandodeolazabalsche3317
    @luisfernandodeolazabalsche3317 Жыл бұрын

    Muchas gracias.

  • @JHONTHERAP
    @JHONTHERAP6 ай бұрын

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

  • @javtheghost3789
    @javtheghost3789 Жыл бұрын

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

  • @alexandercapcha3580
    @alexandercapcha3580 Жыл бұрын

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

  • @bnalvaro
    @bnalvaro Жыл бұрын

    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 Жыл бұрын

    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?

  • @totitocrack
    @totitocrack Жыл бұрын

    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 ?

  • @jamito58
    @jamito58 Жыл бұрын

    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

  • @docstrangeyt2547
    @docstrangeyt2547Ай бұрын

    Hola, cuáles son las versiones que utilizas?

  • @juangabrielalfonsorojas9323
    @juangabrielalfonsorojas9323 Жыл бұрын

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

  • @francoisfernandezrivadenei1229
    @francoisfernandezrivadenei12293 ай бұрын

    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

    Ай бұрын

    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.

  • @deimarjunior02
    @deimarjunior029 күн бұрын

    Que versión de angular se usa?

  • @fm4samuel454
    @fm4samuel4544 ай бұрын

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

  • @noesanchezsantiago.2617
    @noesanchezsantiago.2617Ай бұрын

    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?

  • @Cocankoryyneina
    @Cocankoryyneina7 ай бұрын

    en que momento creó el archivo conection.ts?

  • @crisrodrigocallizayaquenta4012
    @crisrodrigocallizayaquenta40129 ай бұрын

    Gracias Mi king Kong

  • @franciscoantonioloy
    @franciscoantonioloy9 ай бұрын

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

  • @jhairdanielosoriogarzon9830
    @jhairdanielosoriogarzon98308 ай бұрын

    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 👀😋

  • @mauricioporrasmosquera1116
    @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

  • @brianguevara8636
    @brianguevara8636 Жыл бұрын

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

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    en este video en minuto 1:47:00 hace la creacion de la base de datos kzread.info/dash/bejne/e4KZrLOYZcndibA.html

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    y en este otro explica como instalar mySQL kzread.info/dash/bejne/rGeVt8yJoLfOZps.html

  • @davidgomez5190
    @davidgomez5190 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

  • @skyz3
    @skyz3 Жыл бұрын

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

  • @TomasRuizDiaz

    @TomasRuizDiaz

    Жыл бұрын

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

  • @skyz3
    @skyz3 Жыл бұрын

    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

    Жыл бұрын

    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!.

  • @stefanosalazar3329
    @stefanosalazar3329 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

  • @AlguienllamadoYi
    @AlguienllamadoYi Жыл бұрын

    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

    8 ай бұрын

    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

  • @M4oH4cK
    @M4oH4cK3 ай бұрын

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

  • @jamito58
    @jamito58 Жыл бұрын

    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

    Жыл бұрын

    Hola Jaimito proba con [disabled]="true"

  • @jamito58

    @jamito58

    Жыл бұрын

    @@TomasRuizDiaz gracias tomas me sirvió

  • @angelpena2957
    @angelpena2957 Жыл бұрын

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

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    mira las respuestas del comentario de @brianguevara8636

  • @jamito58
    @jamito58 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

    @@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

    Жыл бұрын

    @@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)

  • @franciscoantonioloy
    @franciscoantonioloy9 ай бұрын

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

  • @JHONTHERAP

    @JHONTHERAP

    6 ай бұрын

    en un tutotial anterior

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    mira las respuestas del comentario de @brianguevara8636

  • @valerio9851
    @valerio98517 ай бұрын

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

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    mira las respuestas del comentario de @brianguevara8636

  • @ortizjeison
    @ortizjeison6 ай бұрын

    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

    Ай бұрын

    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.

  • Жыл бұрын

    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

    Жыл бұрын

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

  • @Davaz753

    @Davaz753

    Жыл бұрын

    @@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

    Жыл бұрын

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

  • @Davaz753

    @Davaz753

    Жыл бұрын

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

  • @andrestrada4

    @andrestrada4

    3 ай бұрын

    mira las respuestas del comentario de @brianguevara8636

  • @lutfiprasetya5092
    @lutfiprasetya5092 Жыл бұрын

    your tutorial is very difficult to follow 😅

  • @TomasRuizDiaz

    @TomasRuizDiaz

    Жыл бұрын

    It is very easy!!