Skip to content

Aplicación de gestor de tareas utilizando arquitectura hexagonal para separar responsabilidades, facilitar mantenimiento y escalabilidad. Incluye API RESTful para interactuar con las tareas y obtener información adicional de un servicio externo.

Notifications You must be signed in to change notification settings

Nahuel409/Gestor-de-Tareas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API de Tareas con Arquitectura Hexagonal

Este es un proyecto que implementa la arquitectura hexagonal para la creación de una API de tareas, así como para el consumo de una API externa en línea.

¿Qué es la Arquitectura Hexagonal?

La arquitectura hexagonal, también conocida como arquitectura de puertos y adaptadores, es un patrón de diseño de software que se centra en separar la lógica de negocio de los detalles técnicos de implementación. En este enfoque, la lógica de negocio se coloca en el centro de la arquitectura, rodeada de capas de puertos y adaptadores que permiten la interacción con el mundo exterior.

En la implementación de esta arquitectura, se utilizan tres capas principales:

  • Capa de Dominio: Esta capa contiene la lógica de negocio del sistema, representada por entidades y casos de uso.
  • Capa de Adaptadores: Esta capa se encarga de adaptar la lógica de negocio del sistema a los diferentes puertos, como por ejemplo una API REST o una base de datos.
  • Capa de Infraestructura: Esta capa contiene la implementación concreta de los puertos, como por ejemplo el código para conectarse a una base de datos o para consumir una API externa.

¿Qué hace este proyecto?

Este proyecto implementa la arquitectura hexagonal para la creación de una API de tareas, donde se pueden crear, leer, actualizar y eliminar tareas. Además, se utiliza una API externa en línea para obtener información sobre usuarios.

La API de tareas consta de los siguientes endpoints:

  • GET http://localhost:8080/task: Obtiene todas las tareas.
  • POST http://localhost:8080/task: Crea una nueva tarea.
  • GET http://localhost:8080/task/{id}: Obtiene una tarea específica por ID.
  • PUT http://localhost:8080/task/{id}: Actualiza una tarea existente.
  • DELETE http://localhost:8080/task/{id}: Elimina una tarea existente.

Consumo de Api Externa

Además, esta API también permite consultar información sobre los usuarios registrados en el sistema, utilizando la API externa en línea https://jsonplaceholder.typicode.com/users/. Para consultar información de un usuario específico, se puede utilizar la siguiente URL:

GET api/task//additional-info/{id}: Obtiene información de un usuario específico por ID.

¡Despedida Y Aprendizaje!

Al realizar este proyecto, pude aprender en profundidad la práctica de la arquitectura hexagonal y cómo aplicarla en el diseño de una API de tareas. Esta metodología me permitió separar claramente las responsabilidades y capas del software, lo que facilitó la implementación de nuevos endpoints y mejoras en la funcionalidad de la API. Además, gracias a la arquitectura hexagonal, pude lograr una mayor flexibilidad en la elección de tecnologías para la capa de infraestructura, lo que permitió integrar de manera sencilla la API externa para obtener información sobre los usuarios registrados en el sistema. En definitiva, este proyecto me permitió aplicar en la práctica los conceptos y beneficios de la arquitectura hexagonal en un proyecto real, lo que me brindó una valiosa experiencia en el desarrollo de software modular y escalable.

"Por otro lado quiero agradecer por tomarse el tiempo de revisar mi proyecto. Espero que les haya gustado y encontrado útil. Si tienen alguna pregunta o sugerencia, no duden en contactarme. ¡Gracias nuevamente por su tiempo y apoyo!"

Author: Diego Villan

About

Aplicación de gestor de tareas utilizando arquitectura hexagonal para separar responsabilidades, facilitar mantenimiento y escalabilidad. Incluye API RESTful para interactuar con las tareas y obtener información adicional de un servicio externo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages