"Arquitectura Hexagonal en Node + Typescript" Samuel Andreo, Full Stack en IBM Londres

Sdílet
Vložit
  • čas přidán 22. 04. 2020
  • Aprende testing como parte fundamental del desarrollo de software que garantiza la calidad y funcionalidad de una aplicación con el Bootcamp Online QA Testing: geekshubsacademy.com/producto...
    ¿Alguna vez has tenido que reemplazar en tu proyecto una base de datos? ¿Quizás estas pensando en implementar GraphQL como tu capa de transporte pero te aterra la cantidad de código que tienes que cambiar en tu REST API? Arquitectura Hexagonal te ayuda a controlar estas situaciones, conocerla hará cambiar tu forma de organizar tu código. En esta charla te enseñaré qué es y como aplicarla en tu proyecto con #NodeJS y #Typescript.
    Slides: docs.google.com/presentation/...
    Repo Github: github.com/samuanv/hexagonal-...
    Oficinas IBM Wework: www.wework.com/ideas/growth-i...
    Comenta en twitter con el hashtag #MeetupsGeeksHubs.
    Contacta con Samuel Andreo a través de su twitter🐦 / samuandreo
    🎥 Suscríbete: / geekshubs
    🐦 Twitter GeeksHubs: / geekshubs
    🐦 Twitter GeeksHubs Academy: / geeks_academy
    📸 Instagram: / geekshubs
    ℹ️ LinkedIn: / geeks-hubs
    🟦 Facebook: / geekshubs
    📕 Plataforma online +30 cursos gratuitos: geekshubsacademy.com/
    #ArquitecturaHexagonal
  • Věda a technologie

Komentáře • 49

  • @maxionvideo
    @maxionvideo Před 2 lety +1

    ¡Fantástica explicación! Muchas gracias Samuel, saludos desde tu tierra de limones, playas y pasteles de carne xD

  • @sanchezcarlos1986
    @sanchezcarlos1986 Před rokem +1

    Buenísimo la verdad, muy bien explicado y con un caso práctico y funcional. 👏🏼👏🏼👏🏼

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před rokem

      ¡Gracias Carlos! Nos alegramos de que te haya podido servir :D

  • @jfinezdios
    @jfinezdios Před 4 lety +8

    Muy buena charla, con caso de uso práctico y repositorio de ejemplo incluido. Gracias!

  • @juliocm1990
    @juliocm1990 Před 3 lety +1

    Excelente video, muy ilustrativo para Clean Arquitecture

  • @braianmaciel82
    @braianmaciel82 Před 2 lety

    Muy buena charla, buen resumen, muy bien explicado. 10/10

  • @pablohernandez4305
    @pablohernandez4305 Před 3 lety +1

    gracias por el video

  • @manuelalejandroibarragonza797

    Excelente platica, muy bien explicado. Gracias

  • @robert-z
    @robert-z Před 4 lety +2

    Acabo de ver el vídeo. Muy bueno la verdad 👏🏻. Se entiende bastante bien cómo funciona la arquitectura hexagonal y la potencia que tiene. Gracias!

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před 4 lety +2

      Hola Robertz. Nos alegramos mucho que te gustara. Y otra cosa... Enhorabuena ;) Has ganado el sorteo para el Bootcamp Online Agile Software, ponte en contacto conmigo a través de v.rosario@geekshubs.com para dar los próximos pasos. ¡Gracias por estar ahí!

  • @diangogavidia1356
    @diangogavidia1356 Před 4 lety +2

    Excelente contenido! no es un tema del que se pueda conseguir información fácilmente y menos en Node. Muchísimas Gracias. Atento por si hay próximas sesiones. Saludos!

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před 4 lety

      Hola Diango! Es genial saber que este contenido es de valor y te ha servido, gracias :) Cada martes y jueves de 18:30 a 19:30 tenemos nueva sesión, un placer que estés y disfrutes de los meetups. Un saludo ;)

  • @JaviMolinaSevilla
    @JaviMolinaSevilla Před 4 lety +2

    Gracias por la charla. Ha sido muy interesante y me ha resultado sencillo de seguir y entender. Este es un ejemplo muy bueno y sencillo para entender qué es la arquitectura hexagonal 👍🏻. Muy buena la parte donde ha explicado cómo escalar las aplicaciones con este tipo de arquitectura en el minuto 32:50 💡👀. Como siempre, gracias también a GeeksHubs por facilitar este tipo de sesiones, un saludo 👋🏻

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před 4 lety +1

      Siempre en primera fila, Javi! Mola mucho tu feedback. Gracias a ti y nos vemos en el próximo!

  • @DodaGarcia
    @DodaGarcia Před 2 lety

    I was very curious about how to structure the code in a project that followed the hexagonal architecture, thank you for this presentation!!

  • @LocalGhost_8080
    @LocalGhost_8080 Před 2 lety +1

    Wooow!

  • @JorgeRodriguez-vd3be
    @JorgeRodriguez-vd3be Před 3 lety +1

    Muy buena presentación. Muchas gracias por traer a Samuel y a él por compartir y aportar su conocimiento. Sería fantástico hacer una nueva cata extendiendo el ejemplo APIs GraphQL con Federation para conectar Arquitecturas Exagonales con microservicios a través del Gateway de Apollo Federation ¿Que os parece?

  • @jstsamuel
    @jstsamuel Před 4 lety +1

    Despues de que mostró el package.json me perdí jajaja, es una arquitectura muy interesante, se agradece la charla

  • @srdavid24
    @srdavid24 Před 4 lety +1

    Habrá que empezar con la super arquitectura hexagonal 😉

  • @kingskull619
    @kingskull619 Před 3 lety +2

    He visto videos que usan use cases en vez de iterators es esto válido?

  • @Cristian77595
    @Cristian77595 Před 3 lety +1

    Por mas que no aplique lógica, solo quiero recibir por ejemplo un usuario por id, podría hacerlo tranquilamente desde el controller llamar al repository. Mi pregunta es si o si tiene que pasar por el interactor?

  • @ahelord
    @ahelord Před 3 lety +1

    @S Andreo Si quisiera que todos los interactor enviaran errores a un mismo objeto. ese objeto seria otro interactor o repository?, por ejemplo enviar error de logica de negocio a sentry?

  • @gonzariosm
    @gonzariosm Před 3 lety +1

    Samuel como podrias implementar los Value Objects en este proyecto ?

  • @tigour99
    @tigour99 Před 4 lety +1

    Sólo comento para entrar en el sorteo 🤫🙏🙏. Buen video igualmente

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před 4 lety

      Hola Javi, este sorteo ya fue resuelto :) ¡Gracias igualmente!

  • @wilderparionavilca3886
    @wilderparionavilca3886 Před 4 lety +1

    Interesante arquitectura aunque un poco compleja seria bueno más charlas del tema

  • @joseobeso7601
    @joseobeso7601 Před 3 lety +1

    IBM, tiene desarrolladores full o front?

  • @carlosmoreno6162
    @carlosmoreno6162 Před 3 lety +1

    Es importante recordar que es un patron de arquitectura, solo te dice como construir la estructura, no como diseñarla

  • @juanpablomonaco
    @juanpablomonaco Před 4 lety

    consulta, en el controller no deberia haber varios metodos? (uno de saveBooking, getBooking etc?), porque veo que se definio solo una funcion controller y ahi haces el save (mas que nada para saber si se suele hacer o se hace cada interactor en X controller.
    Por otro lado lo mismo para el interactor, se crea 1 interactor por accion (en este caso save)? o cada interactor suele tener varias acciones (SAVE, CREATE etc) como si de un servicio se tratase?
    Gracias de antemano! muy buen contenido!

    • @GeeksHubsAcademy
      @GeeksHubsAcademy  Před 4 lety +1

      Gracias, Juan! En nada está por aquí Samuel resolviendo tus dudas. Volvemos en septiembre con una nueva temporada... Te esperamos ;)

    • @juanpablomonaco
      @juanpablomonaco Před 4 lety

      @@GeeksHubsAcademy dale genial, muchas gracias!

    • @SamuAnv
      @SamuAnv Před 4 lety +2

      Buenas Juan Pablo! Me alegro que te guste ;)
      Las funciones del controller las decides tu, en este caso nuestra API solo tiene un endpoint REST, que es POST /booking, es por esta razon que solo tenemos una función ahi.
      si tuviera por ejemplo un GET /booking/:id tendria otra funcion llamada getBooking como tu bien dices. tienes razon que exportarlo como BookingController es un poco raro, quizas deberia ser saveBooking.
      En cuanto a la segunda pregunta, eso va un poco a tu elección. Sólo deberías llamar una funcion del Interactor desde el controller, pero si esta funcion es muy larga, por supuesto puedes separarla en diferentes funciones.
      Si quieres que nos metamos un poco mas a ver codigo, me puedes mandar un MD en twitter: twitter.com/samuandreo
      Un saludo!

  • @ahelord
    @ahelord Před 4 lety +1

    Donde deberia importar los modelos de sequelize? en datasource ?

    • @SamuAnv
      @SamuAnv Před 4 lety +1

      Exacto, tu DataSource debería recibir una entidad y encargarse de transformarla a un modelo de sequalize.

  • @ahelord
    @ahelord Před 4 lety +1

    El controller de errores que vendria siendo interceptor o repository? @S Andreo

    • @SamuAnv
      @SamuAnv Před 4 lety

      Depende de a lo que te refieras con controller de errores...
      Si hablamos de una funcion generica que intercepta excepciones y devuelve errores, yo lo implementaria en la transport layer.
      Pero por supuesto si dependiendo del error ejecutas logica de negocio, tienes que hacerlo a nivel de interactor.

    • @ahelord
      @ahelord Před 4 lety

      @@SamuAnv Si quisiera que todos los interactor enviaran errores a un mismo objeto. ese objeto seria otro interactor o repository?, por ejemplo enviar error de logica de negocio a sentry

  • @ahelord
    @ahelord Před 4 lety

    Los Modelos de Sequelize vendrian siendo las entidades?

    • @SamuAnv
      @SamuAnv Před 4 lety +2

      Hola Leonardo,
      No, los modelos de Sequelize nunca pueden ser tus entidades porque estarías acoplando la lógica de negocio con el ORM.
      El ORM, y todo lo relacionado con el, tiene que estar encapsulado en un DataSource implementando un Repository.
      Que pasaria si tienes que cambiar de tu bd SQL con Sequelize a una Mongo con Mongoose?
      Teniéndolo encapsulado en tu DataSource solamente tendrias que implementar un nuevo DataSource.
      Si quieres que veamos tu caso en concreto me lo dices

  • @emmanuelvalverderamos
    @emmanuelvalverderamos Před 4 lety +4

    No es lo mismo DDD de uncle Bob que CQRS 👁️

    • @SamuAnv
      @SamuAnv Před 4 lety +4

      No hablo de CQRS en ningún momento (creo).
      Cuando digo que Clean Architecture, Hexagonal, etc... son 'lo mismo', me refería a que persiguen la misma idea: Separar la lógica de negocio de las capas de transporte y persistencia.
      Quizás debería haber matizado mejor ahi!
      Un saludo

  • @YusufSalahAdDin
    @YusufSalahAdDin Před 3 lety +1

    Lástima la calidad del video.