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 !
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 =)
esta api me ha costado subirla al hosting, no he podido subirla osea no trae los datos cuando configuro todo a la final no esta funcionando tal cual como esta en el video hace falta algo para que al momento del subir todo al hosting funcione sin problema.
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
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
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.
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.
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 👀😋
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!!!!!
Muchas gracias Mr. EXCELENTE tutorial, para los que preguntan la versión de Angular es: 14.1.0, se evidencia en el 1:33:40 ruclips.net/video/XXMczd98pTY/видео.html
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.
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.
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
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 ?
**Conexión a base de datos** En la carpeta db crear un archivo llamado connection.ts, dentro de este poner lo siguiente: import { Sequelize } from 'sequelize'; const sequelize = new Sequelize('//NombreBaseDeDatos', '//NombreDelUsuarioMYSQL', '//PasswordMYSQL', { //Recuerda cambiar los datos host: 'localhost', dialect: 'mysql', logging: false }); export default sequelize; Solo deben cambiarse los datos, y se ven como en este ejemplo: import { Sequelize } from 'sequelize'; const sequelize = new Sequelize('mr_macondo', 'root', 'celeste1234', host: 'localhost', dialect: 'mysql', logging: false }); export default sequelize;
UNA PREGUNTA ayuda, en el minuto 1:51:57 esa carpeta se les descargo por defecto (app-Routing.module.ts)? o lo crearon manualmente?, desde ahi no puedo avanzar, ayudita
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?
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
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
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.
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 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
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 ?
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()
@@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;
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
@@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! 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
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!
Exitos! También podes usar firebase! ruclips.net/video/I808gGh9RTU/видео.html
Год назад
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 !! 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
hay una parte faltante en el tutorial la parte en la que se hace la conccion al mysql :(
en este video en minuto 1:47:00 hace la creacion de la base de datos ruclips.net/video/INeJQ_5fwYM/видео.html
y en este otro explica como instalar mySQL ruclips.net/video/z3aUjPpTh68/видео.html
Podrías subir un sistema de roles con nodejs y angular? Sería una gran ayuda
Hola, cuáles son las versiones que utilizas?
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 !
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 =)
@@TomasRuizDiaz Y el tema de los roles como se podría hacer ?
todo estaba bien hasta que me sale un error donde dice que localstorage no esta definida alguien me podria ayudar
Bueno, pero me gustaria integran el refresh token
esta api me ha costado subirla al hosting, no he podido subirla osea no trae los datos cuando configuro todo a la final no esta funcionando tal cual como esta en el video hace falta algo para que al momento del subir todo al hosting funcione sin problema.
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?
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
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
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.
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?
Excelente maestro, todo super entendible, 10/10 seria genial que vuelvas aplicando los conceptos nuevos de Angular 17!
que versión de angular esta usando en el video?
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 👀😋
en que momento creó el archivo conection.ts?
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!!!!!
Muchas gracias Mr. EXCELENTE tutorial, para los que preguntan la versión de Angular es: 14.1.0, se evidencia en el 1:33:40 ruclips.net/video/XXMczd98pTY/видео.html
Estos tutoriales son de lo mejor. Gracias estimado amigo
Gracias por el comentario sebastian!
pero como puede ser que haya cortado la parte clave y mas importante del video? lo de la conexión de sql?
mira las respuestas del comentario de @brianguevara8636
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.
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.
Que gran contenido mi hermano, explicas muy claramente, excelente vídeo
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 realizando el tutorial se corta la parte donde hace la conexion a MySQL no puedo continuar :(
mira las respuestas del comentario de @brianguevara8636
Contenido super claro! muchas gracias por compartir tus conocimientos de verdad
se podria hacer para cambiar la contraseña despues en otro componente?
Tomas God
muchas gracias, excelente explicación, me ha funcionado muy bien la autenticación para la aplicación que estoy desarrollando
Hola amigo como puedo hacer para que en el nav aparezca un dropdown con el nombre del usuario logeado?
con la parte de roles seria genial pero gracias aprendí bastante
eres un crack gracias aunque en en Angular hoy en dia algunas cosas osn diferentes gracias..
sub
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
Excelente, muy claro y facil de entender , gracias por compartir
Hola, soy estudiante y quisiera hacerte una pregunta.. Muchas gracias me has ayudado mucho.
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 ?
**Conexión a base de datos**
En la carpeta db crear un archivo llamado connection.ts, dentro de este poner lo siguiente:
import { Sequelize } from 'sequelize';
const sequelize = new Sequelize('//NombreBaseDeDatos', '//NombreDelUsuarioMYSQL', '//PasswordMYSQL', { //Recuerda cambiar los datos
host: 'localhost',
dialect: 'mysql',
logging: false
});
export default sequelize;
Solo deben cambiarse los datos, y se ven como en este ejemplo:
import { Sequelize } from 'sequelize';
const sequelize = new Sequelize('mr_macondo', 'root', 'celeste1234',
host: 'localhost',
dialect: 'mysql',
logging: false
});
export default sequelize;
Buenas, en el video no estaba cuando creo el connection cierto?
UNA PREGUNTA ayuda, en el minuto 1:51:57 esa carpeta se les descargo por defecto (app-Routing.module.ts)? o lo crearon manualmente?, desde ahi no puedo avanzar, ayudita
@@theghx_x2125 esa se crea sola, trata que al momento de generar tu proyecto se haga con --standalone=false, aunque también se puede crear manualmente
@@miguelfernandomorasaenz9506 No, eso estaba en otro video
Excelente! Muchas gracias 100% recomendado y me permitio avanzar con un proyecto personal, mas que agradecido.
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?
Muy bueno, excelente la explicación.Muchas gracias
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 Tomas, podrías hacer un curso de node Js. Muchas gracias por los videos me sirven muchísimo.
excelente! completísimo! gracias!
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
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.
Muchas gracias por el video!
Tomas. Excelente curso - tutorial; muchas gracias.
Hola Amigo, en que momento del video creas la base de dato?
en un tutotial anterior
mira las respuestas del comentario de @brianguevara8636
Alto tutorial!! Gracias rey
Se podria realizar este mismo proyecto con el ORM TypeORM.
Gracias, excelente explicación.
Hola SuperSkyz, se debería cambiar la capa de acceso a datos.. lo demás quedaría todo igual =)
30:05, Salud broder.
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
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!.
mutio obrigado direto do Brasil 👏👏👏
Gracias Mi king Kong
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
Hola Jaimito proba con [disabled]="true"
@@TomasRuizDiaz gracias tomas me sirvió
Genio!!!, gracias a tus videos de angular pude avanzar con un proyecto de IoT que estaba desarrollando. ¡¡Muchas Gracias!!!
😊
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 ?
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()
@@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
@@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! 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
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!
@@TomasRuizDiaz Que arquitectura o modelo se podria decir que estas empleando en el ejemplo del video?
Muchas gracias.
Va hacer mi primer login, muchas gracias por tu contenido
Exitos! También podes usar firebase! ruclips.net/video/I808gGh9RTU/видео.html
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
Hola Alfredo, el minuto 37:42 configuramos sequalize. Saludos!
@@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
@@Davaz753 Holaa, pudiste hacer bien la conexión?
@@lauraobando5150 si. Me tocó entrar a descargar el proyecto de git y ya listo
mira las respuestas del comentario de @brianguevara8636
your tutorial is very difficult to follow 😅
It is very easy!!