Skip to content

JoakoRod/Backend-TPIntegrador-UTNFRC

Repository files navigation

TPI Logística — Resumen del Proyecto

Este repositorio contiene la implementación del Trabajo Práctico Integrador (TPI) de la materia, consistente en una arquitectura de microservicios para un sistema de logística. El proyecto incluye servicios para clientes, seguimiento, transporte, una API de geolocalización, un gateway, y la integración con Keycloak para gestión de identidad y autorización.

Estructura

  • docker-compose.yml: Orquestación de contenedores para despliegue local.
  • db/init.sql: Script de inicialización de la base de datos.
  • keycloak/realm.json: Realm de Keycloak con configuración de clientes y roles.
  • geoapi/, logistica_clientes/, logistica_seguimiento/, logistica_transporte/, tpi_gateway/: Módulos (cada uno con pom.xml, código fuente Java y application.properties).
  • postman/: Colección / scripts para probar APIs.

Qué se implementó

  • Microservicios: Servicios independientes para clientes, seguimiento y transporte, cada uno con sus controladores, servicios y persistencia básica.
  • API de geolocalización: Servicio geoapi para resolver direcciones/posicionamiento.
  • Gateway: tpi_gateway que actúa como punto de entrada unificado a los microservicios.
  • Autenticación y autorización: Integración con Keycloak (realm en keycloak/realm.json) para proteger endpoints y gestionar roles/usuarios.
  • Dockerización: Dockerfiles por servicio y archivos de compose para levantar todo el sistema de forma reproducible.
  • Base de datos: Script de inicialización en db/init.sql para crear tablas y datos de prueba.
  • Colección Postman: Peticiones para probar endpoints y flujos principales.

Cómo ejecutar (despliegue local)

Usando Docker Compose (recomendado):

docker-compose up --build

Levantar servicios individualmente (por módulo Java):

cd geoapi
./mvnw spring-boot:run

cd ../logistica_clientes
./mvnw spring-boot:run

Revisar db/init.sql para la configuración de la base de datos y cargarlo antes de ejecutar los servicios si no usa contenedores.

Puertos y endpoints importantes

  • Gateway y servicios exponen los endpoints REST definidos en cada módulo (src/main/java).
  • Consultar la colección en postman/ para ejemplos de requests y rutas.

Cumplimiento del enunciado

  • Requisitos funcionales: Se implementaron los servicios principales (clientes, seguimiento, transporte) y los endpoints necesarios para crear, consultar y actualizar recursos relevantes.
  • Seguridad: Todos los servicios pueden integrarse con Keycloak; el realm está incluido y permite probar autenticación y roles.
  • Despliegue: El proyecto es desplegable mediante Docker Compose y también ejecutable por módulo con Maven, cubriendo entornos de desarrollo y prueba.
  • Persistencia: Incluye script de inicialización de la base de datos (db/init.sql) para reproducir datos de prueba.
  • Pruebas manuales: Se proporcionó una colección de Postman para verificar las rutas y flujos principales.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors