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
Excelente maestro, todo super entendible, 10/10 seria genial que vuelvas aplicando los conceptos nuevos de Angular 17!
@yesseniaortegajilote9771
10 күн бұрын
que versión de angular esta usando en el video?
Tomas. Excelente curso - tutorial; muchas gracias.
Que gran contenido mi hermano, explicas muy claramente, excelente vídeo
Excelente! Muchas gracias 100% recomendado y me permitio avanzar con un proyecto personal, mas que agradecido.
muchas gracias, excelente explicación, me ha funcionado muy bien la autenticación para la aplicación que estoy desarrollando
Estos tutoriales son de lo mejor. Gracias estimado amigo
@TomasRuizDiaz
Жыл бұрын
Gracias por el comentario sebastian!
Muy bueno, excelente la explicación.Muchas gracias
Excelente, muy claro y facil de entender , gracias por compartir
Contenido super claro! muchas gracias por compartir tus conocimientos de verdad
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!!!!!
Genio!!!, gracias a tus videos de angular pude avanzar con un proyecto de IoT que estaba desarrollando. ¡¡Muchas Gracias!!!
@TomasRuizDiaz
Жыл бұрын
😊
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
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.
excelente! completísimo! gracias!
Alto tutorial!! Gracias rey
Muchas gracias por el video!
Va hacer mi primer login, muchas gracias por tu contenido
@TomasRuizDiaz
Жыл бұрын
Exitos! También podes usar firebase! kzread.info/dash/bejne/e2xkmsmAmJy4hLg.html
mutio obrigado direto do Brasil 👏👏👏
Muchas gracias.
eres un crack gracias aunque en en Angular hoy en dia algunas cosas osn diferentes gracias..
Podrías subir un sistema de roles con nodejs y angular? Sería una gran ayuda
Hola Tomas, podrías hacer un curso de node Js. Muchas gracias por los videos me sirven muchísimo.
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
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?
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 ?
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
Hola, cuáles son las versiones que utilizas?
Hola, soy estudiante y quisiera hacerte una pregunta.. Muchas gracias me has ayudado mucho.
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
Ай бұрын
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.
Que versión de angular se usa?
se podria hacer para cambiar la contraseña despues en otro componente?
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?
en que momento creó el archivo conection.ts?
Gracias Mi king Kong
Hola amigo como puedo hacer para que en el nav aparezca un dropdown con el nombre del usuario logeado?
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 👀😋
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
hay una parte faltante en el tutorial la parte en la que se hace la conccion al mysql :(
@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
3 ай бұрын
y en este otro explica como instalar mySQL kzread.info/dash/bejne/rGeVt8yJoLfOZps.html
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
Жыл бұрын
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
Жыл бұрын
@@TomasRuizDiaz Que arquitectura o modelo se podria decir que estas empleando en el ejemplo del video?
Se podria realizar este mismo proyecto con el ORM TypeORM. Gracias, excelente explicación.
@TomasRuizDiaz
Жыл бұрын
Hola SuperSkyz, se debería cambiar la capa de acceso a datos.. lo demás quedaría todo igual =)
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
Жыл бұрын
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!.
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
Жыл бұрын
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
Жыл бұрын
@@TomasRuizDiaz Y el tema de los roles como se podría hacer ?
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
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
todo estaba bien hasta que me sale un error donde dice que localstorage no esta definida alguien me podria ayudar
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
Жыл бұрын
Hola Jaimito proba con [disabled]="true"
@jamito58
Жыл бұрын
@@TomasRuizDiaz gracias tomas me sirvió
Hola realizando el tutorial se corta la parte donde hace la conexion a MySQL no puedo continuar :(
@andrestrada4
3 ай бұрын
mira las respuestas del comentario de @brianguevara8636
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
Жыл бұрын
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
Жыл бұрын
@@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
Жыл бұрын
@@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)
Hola Amigo, en que momento del video creas la base de dato?
@JHONTHERAP
6 ай бұрын
en un tutotial anterior
@andrestrada4
3 ай бұрын
mira las respuestas del comentario de @brianguevara8636
pero como puede ser que haya cortado la parte clave y mas importante del video? lo de la conexión de sql?
@andrestrada4
3 ай бұрын
mira las respuestas del comentario de @brianguevara8636
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
Ай бұрын
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
Жыл бұрын
Hola Alfredo, el minuto 37:42 configuramos sequalize. Saludos!
@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
Жыл бұрын
@@Davaz753 Holaa, pudiste hacer bien la conexión?
@Davaz753
Жыл бұрын
@@lauraobando5150 si. Me tocó entrar a descargar el proyecto de git y ya listo
@andrestrada4
3 ай бұрын
mira las respuestas del comentario de @brianguevara8636
your tutorial is very difficult to follow 😅
@TomasRuizDiaz
Жыл бұрын
It is very easy!!