@@JairTlapaya Claro, tomaré tus exitosos videos como referencia 🤗
@JonathanOrtiz-nc8yl11 күн бұрын
el preferible hacer la inyeccion de depedencia por constructor, pero igual. buen video
@souldev75027 күн бұрын
@@JonathanOrtiz-nc8yl Gracias por el aporte
@guillermor.r483115 күн бұрын
que maravilla de video,me viene genial,justo acabo de empezar a hacer las practicas en una empresa y usan angular con primeNg
@souldev750212 күн бұрын
Me alegra que te haya servido!
@isaacrojas6273Ай бұрын
Es un poco lento Angular, pero siento que en proyectos grandes va ser súper fundamental tenerlo en este Framework
@souldev7502Ай бұрын
En realidad, Angular no es lento. Aunque puede parecer más pesado en comparación con otros frameworks en ciertos casos, su rendimiento es excelente, especialmente en aplicaciones bien optimizadas.
@BETTMOSHАй бұрын
esta bueno pero no para principiantes no sabemos de donde salio esqueleton-list-demo.ts ni el imports.ts?
@souldev7502Ай бұрын
@@BETTMOSH Hola, claro el video está orientado a gente que ya maneje Angular y PrimeNG, intentaré hacer un video de cero para principiantes. Gracias por tu comentario
@cesalexguzАй бұрын
Una consulta, hice tal cual como el video, pero al momento de ejecutar no crea las tablas en la base de datos, pero no muestra ningún error en la consola, pareciera que no hay error pero no crea ninguna tabla. A que se puede deber y como puedo solucionar? Gracias por tu ayuda
@souldev7502Ай бұрын
Hola, es muy dificil tener el contexto completo sin más información. Intenta hacer un git clone del proyecto base e intenta ejecutarlo para ver si ese si crea las tablas correctamente...
@cesalexguzАй бұрын
@@souldev7502 ya encontré el error y logre solucionarlo. Muchas gracias de igual manera por intentar ayudar
@souldev7502Ай бұрын
@@cesalexguz Mil disculpas por la demora amigo, exitos!
@translover8164Ай бұрын
Hey man trate de replicar tu contenido y si me dio lata primeNG. Muy buen video. Al final lo hice correr, tenia tiempo de no usar Angular y esta versión tiene un par de cosillas .
@souldev7502Ай бұрын
Angular está en constante actualización sobretodo en los últimos meses, me alegro de que hayas podido sacar adelante tu proyecto. Saludos!
@daviduntama2 ай бұрын
Una consulta: y para que hemos creado la interface?
@souldev7502Ай бұрын
@@daviduntama Hola! Gracias por tu comentario, disculpa pero no entiendo tu pregunta
@daviduntamaАй бұрын
@@souldev7502 osea he visto que has creado un interface y luego una implementación de la interface, y al final creas un objeto de la implementacion de la interface, y por eso la pregunta para que se crea la interface es necesaria, yo veo que aquí no la usas en ningún punto
@souldev7502Ай бұрын
@@daviduntama La interfaz es necesaria para modelar el servicio que posteriormente implementamos
@DanielValerioBroncano2 ай бұрын
nuevo sub!
@phoolherreracondezo28412 ай бұрын
thank you apreciatte
@marcelobc22302 ай бұрын
muito obrigado, pensa em fazer um projeto mais complexo com spring e angular nos próximos dias ?
@souldev7502Ай бұрын
@@marcelobc2230 En mi GitHub tienes un ejemplo con Spring Security y en mi canal un proyecto con programación reactiva
@dvdtucapo2 ай бұрын
Y donde hago click para verlo?
@marcomolina62132 ай бұрын
creo que primeng tiene roto el css, ya que por ejemplo el carrusel se ve mal en angular 18 :(, ¿sabes porque pasa esto?
@souldev75022 ай бұрын
@@marcomolina6213 Hola amigo, no debería pasar tengo proyectos con Angular 18 y PrimeNG y no se ve roto, revisa siempre que tengas la última versión de PrimeNG... Además revisa si todas tus configuraciones están correctas y los cambios en el repositorio de PrimeNG
@LuisM-wo7ju2 ай бұрын
Muchas gracias por el aporte! estuve de BA un tiempo y quiero volver al desarrollo API y necesitaba justo este video para repasar.
@souldev75022 ай бұрын
@@LuisM-wo7ju De nada!
@BYMATICHELO2 ай бұрын
nuevo sub
@davidahstell98063 ай бұрын
Cuando puedas puedes hacer un video de como usar de forma básica hasta la forma avanzada el inspector de chrome ?
@davidahstell98063 ай бұрын
Muchas gracias
@miguelperez68603 ай бұрын
¿Como seria para que e el controlador de libros no depender de la implementación de de BookServiceImp y depender de BookService ?
@souldev75023 ай бұрын
@@miguelperez6860 Hola amigo, el controlador debe utilizar la implantación ya que es la parte que tiene la lógica, la interfaz Book Services nos sirve únicamente para modelar nuestro servicio
@miguelperez68603 ай бұрын
@@souldev7502 ¿Cómo se podría hacer la inversión de dependencias ?
@daviduntamaАй бұрын
el servicio debe crearse como un objeto del tipo de la interface, y el framework lo instanciara a partir de la clase que lo implementa , asi podrías crear otra clase qeu implemente la inteface pero jalando datos de otra api por ejemplo y otra implementación que jala datos una BDD, etc y esto no afectaría en nada el comportamiento del objeto cuando es usado en el controlador y a esto es lo que se le llama patrón IOC (inversión de control )
@facuxd83713 ай бұрын
Buen video, pero no sabras como configurar en el cookie el atributo de SameSite?. Ya que he buscado pero no me ha resultado
@souldev75023 ай бұрын
@@facuxd8371 La clase Cookie tiene la propiedad para setearlo, aún así con eso no se te pone con esa configuración?
@davidahstell98063 ай бұрын
Apenas lo voy a ver 🎉
@camilotello32963 ай бұрын
Muchas gracias por el tutorial, me sirvió bastante :')
@souldev75023 ай бұрын
¡Me alegra saber que te fue útil! Saludos.
@patricioantoniohevia83943 ай бұрын
Lo que buscaba, crack, máquina
@souldev75023 ай бұрын
@@patricioantoniohevia8394 Gracias por el apoyo
@master0305844 ай бұрын
Excelente video esta es mi pregunta todo esta muy bien tienes un front y un back, bueno este es mi dilema tengo la clase login que hace generacion del token pero yo devuelvo el token en este metodo en string, para despues ser usado por otro metodo del back por ejemplo consulta/idcocumento/token pero es en este metodo donde quiero subir el token a la cokie ya lo he podido conseguir despues este enpoint redirecciona regresa codigo html y redirecciona a otro metodo del back digamos consulta/idocumento aqui ya el token esta en la cokie aqui todo esta muy bien pero mi token tiene un tiempo de expiracion de 15 minutos o por ejemplo altero el token y ya cuando pongo un token correcto ya no me deja acceder y mas aun tengo enpoints que son accesibles para todos como el generartoken y el metodo consulta/iddocumento/token y peor aun tengo ope api y y cuando accedo a el ya no me permite entrar me marca 403 y cuando imprime el token es un token viejo pero no deja ni actualizarlo
@FelipeSilva-e4s4 ай бұрын
Es posible usar este loader con angular 11?
@souldev75024 ай бұрын
Si solamente debes seguir la lógica con la directiva *ngIf y deberia funcionar. Saludos
@Leib165 ай бұрын
Hola, excelente video. Vi que subes videos springboot y angular, tenia una consulta ¿qué tal es el mercado laboral para programadores de spring boot y angular?
@souldev75025 ай бұрын
Saludos! Gracias por comentar, depende de tus habilidades y conocimientos. Angular es muy utilizado actualmente y Spring Boot aún más, si lo que te llama la atención es el desarrollo web son excelentes opciones, claro, toma en cuenta que el mercado laboral depende de muchos factores aparte de las técnologias que dominas.
@josevictorhipolitojarabarr365 ай бұрын
buenas tengo problemas de conexion con mogo-express y ademas no se logra realizar los eventos ya que el dockerfile parece que presenta problemas mongo-express NO LOGRA CONENTARSE -------------------------------------------------------- docker-compose.yml version: '3.8' services: mongo: build: context: mongo dockerfile: Dockerfile image: mongorpl container_name: mongodb restart: always ports: - 27017:27017 volumes: - mongo-data:/data/db environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root mongo-express: image: mongo-express container_name: mongo-express restart: always ports: - 8081:8081 environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: root ME_CONFIG_MONGODB_SERVER: mongodb ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/ ME_CONFIG_BASICAUTH: false volumes: mongo-data: -------------------------------------------------------- Dockerfile FROM mongo:4.4.3 RUN echo "rs.initiate({_id: 'replset0', members: [{_id: 0, host: 'mongodb:27017'}]}); rs.slaveOk();" > /docker-entrypoint-initdb.d/init-replica.js CMD ["--replSet", "replset0", "--bind_ip", "0.0.0.0", "--oplogSize", "500"] --------------------------------------------------------- LOG mongo-express 2024-05-25 19:12:18 Waiting for mongo:27017... 2024-05-25 19:12:19 Sun May 26 00:12:19 UTC 2024 retrying to connect to mongo:27017 (2/10) 2024-05-25 19:12:20 Sun May 26 00:12:20 UTC 2024 retrying to connect to mongo:27017 (3/10) 2024-05-25 19:12:21 Sun May 26 00:12:21 UTC 2024 retrying to connect to mongo:27017 (4/10) 2024-05-25 19:12:22 No custom config.js found, loading config.default.js 2024-05-25 19:12:22 Welcome to mongo-express 1.0.2 2024-05-25 19:12:22 ------------------------ 2024-05-25 19:12:22 2024-05-25 19:12:22 2024-05-25 19:12:18 /docker-entrypoint.sh: connect: Connection refused 2024-05-25 19:12:18 /docker-entrypoint.sh: line 15: /dev/tcp/mongo/27017: Connection refused 2024-05-25 19:12:19 /docker-entrypoint.sh: connect: Connection refused 2024-05-25 19:12:19 /docker-entrypoint.sh: line 15: /dev/tcp/mongo/27017: Connection refused 2024-05-25 19:12:20 /docker-entrypoint.sh: connect: Connection refused 2024-05-25 19:12:20 /docker-entrypoint.sh: line 15: /dev/tcp/mongo/27017: Connection refused 2024-05-25 19:12:52 Could not connect to database using connectionString: mongodb://root:****@mongodb:27017/" 2024-05-25 19:12:52 /app/node_modules/mongodb/lib/sdam/topology.js:285 2024-05-25 19:12:52 const timeoutError = new error_1.MongoServerSelectionError(`Server selection timed out after ${serverSelectionTimeoutMS} ms`, this.description); 2024-05-25 19:12:52 ^ 2024-05-25 19:12:52 2024-05-25 19:12:52 MongoServerSelectionError: Server selection timed out after 30000 ms 2024-05-25 19:12:52 at Timeout._onTimeout (/app/node_modules/mongodb/lib/sdam/topology.js:285:38) 2024-05-25 19:12:52 at listOnTimeout (node:internal/timers:569:17) 2024-05-25 19:12:52 at process.processTimers (node:internal/timers:512:7) { 2024-05-25 19:12:52 reason: TopologyDescription { 2024-05-25 19:12:52 type: 'Unknown', 2024-05-25 19:12:52 servers: Map(1) { 2024-05-25 19:12:52 'mongodb:27017' => ServerDescription { 2024-05-25 19:12:52 address: 'mongodb:27017', 2024-05-25 19:12:52 type: 'RSGhost', 2024-05-25 19:12:52 hosts: [], 2024-05-25 19:12:52 passives: [], 2024-05-25 19:12:52 arbiters: [], 2024-05-25 19:12:52 tags: {}, 2024-05-25 19:12:52 minWireVersion: 0, 2024-05-25 19:12:52 maxWireVersion: 9, 2024-05-25 19:12:52 roundTripTime: 15.8, 2024-05-25 19:12:52 lastUpdateTime: 1683192, 2024-05-25 19:12:52 lastWriteDate: 0, 2024-05-25 19:12:52 error: null, 2024-05-25 19:12:52 topologyVersion: { 2024-05-25 19:12:52 processId: ObjectId { [Symbol(id)]: [Buffer [Uint8Array]] }, 2024-05-25 19:12:52 counter: 0 2024-05-25 19:12:52 }, 2024-05-25 19:12:52 setName: null, 2024-05-25 19:12:52 setVersion: null, 2024-05-25 19:12:52 electionId: null, 2024-05-25 19:12:52 logicalSessionTimeoutMinutes: 30, 2024-05-25 19:12:52 primary: null, 2024-05-25 19:12:52 me: null, 2024-05-25 19:12:52 '$clusterTime': null 2024-05-25 19:12:52 } 2024-05-25 19:12:52 }, 2024-05-25 19:12:52 stale: false, 2024-05-25 19:12:52 compatible: true, 2024-05-25 19:12:52 heartbeatFrequencyMS: 10000, 2024-05-25 19:12:52 localThresholdMS: 15, 2024-05-25 19:12:52 setName: null, 2024-05-25 19:12:52 maxElectionId: null, 2024-05-25 19:12:52 maxSetVersion: null, 2024-05-25 19:12:52 commonWireVersion: 0, 2024-05-25 19:12:52 logicalSessionTimeoutMinutes: null 2024-05-25 19:12:52 }, 2024-05-25 19:12:52 code: undefined, 2024-05-25 19:12:52 [Symbol(errorLabels)]: Set(0) {} 2024-05-25 19:12:52 } 2024-05-25 19:12:52 2024-05-25 19:12:52 Node.js v18.20.3
@yefersonlemus75316 ай бұрын
Funcionando en angular 17.3.7 te lo agradezco tanto extrañaba estos efectos y no sabia como hacerlo en angular y se pudo en menos de 3 minutos
@souldev75025 ай бұрын
Gracias por el comentario! Saludos
@alexxis_4ever6 ай бұрын
Tienes el repo?? 😅
@ahmedrashad49410 ай бұрын
its not working on Angular 17 with SSR
@yefersonlemus75316 ай бұрын
Amigo tengo la version 17.3 de angular si funciona solo que necesita de los @types/aos para que compile, saludos
@phoolherreracondezo28412 ай бұрын
confirmo tengo el angular 17
@yurirodriguezrodriguez702311 ай бұрын
Buena explicación simple y directa al punto, genial amigo
@assassinsmts8339 Жыл бұрын
Excelente, saludos
@alphaarani2576 Жыл бұрын
Segui todos los pasos pero por alguna razon no me funciona :(
@COSMOPOLITANWORLD Жыл бұрын
Hola gracias por tu video, una pregunta como manejas esta situacion : digamos que le tus token tienen un tiempo de expiracion por ejemplo 15 minutos (despues de ese tiempo ese token ya es invalido), luego deberias ser redireccionado al login y cuando vuelves a entrar tus credenciales y haz el submit de tu login, el token anterior se envia, sin embargo este token es filtrado por la clase jwtatuhtenticationfilter y te retorna nuevamente el 401 error. si me pudieras ayudar a resolver esta duda te agradeceria, muchas gracias. saludos
@souldev750211 ай бұрын
Te explicaré como se hace normalmente en angular se utiliza un interceptor de solicitudes que revisa todas las peticiones, cuando una petición es rechazada con 401 por un token vencido debes ejecutar una llamada al API para que este borre la cookie seteada y luego de eso redireccionar al usuario a la pantalla de autenticación, de esta manera evitas que se mantenga el token vencido
@vinhpham1058 Жыл бұрын
thanks for your video, it has really heaped me ♥♥
@fernandoemanuelgonzalez2512 Жыл бұрын
muy bueno !
@elrevelde6698 Жыл бұрын
la verdad me funciono perfecto, pero no entiendo bien bien xq cuando seteas themeLink.href le pones ".css" y no ".scss", me podrias explicar eso por favor?
@facundomonteros9359 Жыл бұрын
Excelente video!! me sirvió muchisimo
@LPMX26 Жыл бұрын
Muchas gracias inge, me salvó de un error de meses
@yeinsdavidllanohernandez1228 Жыл бұрын
Muchas gracias crack 👍
@enriqueantoniomolina1716 Жыл бұрын
gracias por tu tutorial,lo estoy haciendo paso a paso y tengo un error en la consola: Refused to apply style from 'localhost:4200/lara-dark-blue.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
@yeremmi789 Жыл бұрын
hey pana, a mí me aparecen muchos errores a la hora de querer instalar firebase aparecen errores (ERR! ... --force, --legacy...) 😢
@ianalexis1267 Жыл бұрын
oye bro, tengo un problema. Utilizando los codigos de los videos estoy teniendo problemas cuando quiero realizar un registro, ya que me sale un error 500 cuando le doy a inspeccionar.
@codingsavid6509 Жыл бұрын
Espectacular video, pude integrarlo a mi proyecto fácilmente
@Crazycosmichild Жыл бұрын
hice todo los pasos pero tengo un problema las animaciones se inician despues de haber cargado la pagina el contenido se va cn la animacion
@joar2349 Жыл бұрын
Se agradece crack
@barbarao.8422 Жыл бұрын
muchos problemas con las versiónes :c se veia buen proyecto
@souldev750211 ай бұрын
Si, tratare de hacer un nuevo video con las últimas versiones tanto de Angular como Firebase
@dragonstore6308 Жыл бұрын
Como se puede lograr que la sesión del usuario no se pierda al recargar la página
@JuanFernandoRendonGarcia Жыл бұрын
En routes validas si esta logueado en caso que no redireccionas, la sesion no se pierde tambien esta en el localstorage import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { AppLayoutComponent } from './layout/app.layout.component'; import { canActivate, redirectUnauthorizedTo } from '@angular/fire/compat/auth-guard'; const routes: Routes = [ { path: '', component: AppLayoutComponent, ...canActivate(()=> redirectUnauthorizedTo('auth/login')) }, { path: 'auth', loadChildren: () => import('./components/auth/auth.module').then(m => m.AuthModule) }, ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { }
@michaelgarzon5160 Жыл бұрын
Gracias, era lo q necesitaba
@ynot13s Жыл бұрын
Excelente video! Me serviste de gran ayuda. Tuve problemas en la instalaci[on de las dependencias de Firebase pero luego lo pude solucionar. Excelente video
@diegoaravena1348 Жыл бұрын
muy bueno, tengo una duda, como haces para permitir solicitudes de otros origenes? porque si pones "*" pero tenes permitido el uso de credenciales da error, por lo menos me pasa eso, estoy haciendo un proyecto en Angular que mediante in interceptor le digo que WithCredentials: true, me funciona si pongo como origen localhost:4200 pero cuando este en produccion se accedera de distintos dominios, como deberia configurarlo para que funcione? espero no haber sido muy enredado jaja
@souldev750211 ай бұрын
Hola amigo, mil disculpas por no responder pronto en producción siempre debes configurar una política de orígenes permitidos en el filter chain del security. Nunca se debe usar el "*" recuerda que hay navegadores que bloquean la cookie si no es del mismo origen por ejemplo: api.misitio.com puede establecer una cookie en front.misitio.com pero con otro dominio no lo permitiría.