Volver a Work

ACADEMIC TEAM PROJECT

Plataforma académica con autenticación centralizada

Proyecto académico en desarrollo por un equipo de cuatro integrantes, con SSO OAuth2, servicios integrados y automatización de entornos y validaciones.

Representación conceptual del sistema compartido por un equipo de 4 integrantes: aplicaciones y servicios comparten identidad mediante autenticación centralizada; no representa la topología real ni autoría individual de la arquitectura.
Representación conceptual del sistema compartido del equipo de 4 integrantes. Comunica la relación de identidad entre aplicaciones, servicios y autenticación centralizada; no describe la topología real ni implica autoría individual de la arquitectura completa.

Contexto y problema

El proyecto consiste en una plataforma formada por varios componentes que necesitan compartir identidad y colaborar entre sí sin convertirse en una única aplicación monolítica.

Uno de sus problemas centrales es la autenticación: distintos servicios deben poder confiar en una identidad común y mantener un flujo consistente de autorización, sesiones y tokens.

Al mismo tiempo, el proyecto incluye integraciones funcionales entre servicios y requiere que un equipo pueda levantar y validar un entorno compuesto por varios repositorios.

Es un proyecto académico realizado por cuatro integrantes, por lo que las contribuciones descritas aquí corresponden específicamente al trabajo que puedo atribuir personalmente mediante código, commits, PR y pruebas.

Mis contribuciones

Mis contribuciones se concentran en cuatro áreas: autenticación centralizada, una integración entre compra y wallet, partes del frontend y tooling de infraestructura/desarrollo.

No atribuyo a mi trabajo individual el diseño ni la implementación completa de la plataforma.

El desafío adicional de trabajar en equipo fue mantener interfaces claras entre componentes y poder validar los cambios sin depender de que todos los servicios estuvieran siendo desarrollados por la misma persona.

Proyecto académico en desarrollo por un equipo de cuatro: plataforma y arquitectura compartidas, cuatro áreas de contribuciones personales verificadas y testing y CI como validación transversal.
Diagrama conceptual derivado y sanitizado. El proyecto es de un equipo de cuatro integrantes; sólo se muestran contribuciones personales verificadas. La plataforma y su arquitectura son trabajo compartido, y testing y CI se presentan como validación transversal, no como una quinta área de autoría.

Autenticación centralizada

Implementé trabajo sobre el sistema de SSO utilizando Laravel Passport y OAuth2.

El flujo utiliza Authorization Code con PKCE y contempla consentimiento, manejo de sesión y tokens, además de logout global.

La intención es que distintos clientes puedan delegar autenticación en un servicio central sin compartir directamente credenciales entre aplicaciones.

Como referencia conceptual del estándar público, la solicitud de autorización incluye el challenge PKCE; para el canje, el cliente presenta el código y el verifier. El servidor verifica PKCE antes de emitir tokens. La gestión posterior de sesión depende de la aplicación; OAuth2 y PKCE no la definen por sí solos.

Secuencia conceptual de OAuth2 Authorization Code con PKCE: cliente, solicitud con challenge, servidor, código, verificación con code y verifier, intercambio de tokens y, como paso de la aplicación, sesión autenticada.
Secuencia conceptual de un estándar público, derivada y sanitizada, independiente de la autoría de la plataforma. El cliente envía el challenge en la solicitud y presenta código y verifier para el canje; el servidor verifica PKCE antes de emitir tokens. La gestión de sesión posterior corresponde a la aplicación, no es una garantía de OAuth2/PKCE. No representa la topología ni la configuración real, ni atribuye la plataforma completa a una persona.

Integración Compra ↔ Wallet

Otra contribución importante fue el flujo de integración entre el proceso de compra y el wallet.

Aquí el problema no consistía solamente en hacer una petición entre dos servicios. Era necesario modelar estados y evitar que una misma operación pudiera aplicarse más de una vez ante repeticiones o reintentos.

Por eso el flujo incorpora consideraciones de idempotencia, estados explícitos y pruebas de integración utilizando mocks cuando corresponde.

Frontend

También trabajé sobre componentes frontend en React relacionados con inventario.

Esto incluyó integración con APIs y comportamiento de interfaz como filtros y paginación.

Infraestructura y workflows

El carácter multi-repo del proyecto produjo otro problema: levantar un entorno de desarrollo consistente.

Trabajé sobre automatización con Docker Compose y Bash para facilitar un fresh bootstrap del entorno, persistencia de servicios y guards destinados a evitar estados inválidos durante la preparación.

Parte de este trabajo también se integra con CI y pruebas end-to-end.

Testing y CI

Los flujos de autenticación e integración están respaldados por implementación y tests; la parte de compra y wallet dispone además de una suite automatizada específica.

La suite específica de compra y wallet llegó a 27 tests y 99 assertions, utilizada junto con CI para validar el comportamiento.

Validación, resultados y estado

Las contribuciones descritas pueden rastrearse a cambios concretos dentro de los repositorios del proyecto.

La infraestructura puede reconstruirse mediante el tooling preparado para bootstrap, reduciendo la cantidad de pasos manuales necesarios para comenzar desde un entorno limpio.

En desarrollo. El proyecto continúa en desarrollo, por lo que este caso no se presenta como un producto terminado. Su valor en el portfolio está en mostrar contribuciones técnicas verificables realizadas dentro de una arquitectura de varios servicios y un equipo de trabajo.

Qué demuestra

  • Trabajar con OAuth2 y SSO dentro de una plataforma de varios servicios.
  • Abordar integración entre servicios, idempotencia y testing.
  • Integrar frontend React con APIs, filtros y paginación.
  • Automatizar un entorno multi-repo.
  • Trabajar dentro de un código compartido y distinguir claramente entre lo realizado por el equipo y mis propias contribuciones.

Tecnología y evidencia

Tecnología principal: Laravel · Laravel Passport · OAuth2 · Authorization Code + PKCE · React · Docker Compose · Bash · testing · CI/E2E.

Evidencia verificada: Repositorios privados · commits y PR atribuibles · tests · workflows de CI · implementación inspeccionada.

La evidencia permite respaldar las contribuciones descritas, pero los repositorios no se presentan actualmente como código público.

Nota de privacidad

SANITIZED CASE STUDY

El proyecto se encuentra en desarrollo y sus repositorios permanecen privados. El portfolio presenta únicamente contribuciones personales ya verificadas mediante PRs, commits, tests y CI, sin atribuirme el trabajo completo del equipo ni exponer código o configuración privada.