GabrielLuque

Desarrollador backend junior especializado en Java y Spring Boot. Me enfoco en construir APIs REST y sistemas basados en microservicios, con autenticación segura, comunicación event-driven entre servicios y despliegue en contenedores con Docker.

Ver proyectos→
Madrid, EspañaScroll
Sobre mí

Desarrollo backends enfocado en una arquitectura sólida, aplicando buenas prácticas y priorizando la calidad del código para crear soluciones mantenibles y escalables.

Trabajo en equipo siguiendo prácticas ágiles, organizando el trabajo mediante issues, ramas y pull requests, y cuidando tanto la calidad del código como la documentación del proyecto.

01

Core

  • Java
  • Spring Boot
  • Spring Security
  • Spring Cloud
  • Hibernate
  • JPA
  • JUnit
  • Mockito
02

Datos

  • PostgreSQL
  • MySQL
  • Redis
03

Mensajería & Resiliencia

  • Kafka
  • Resilience4j
04

Calidad de código

  • Checkstyle
  • PMD
  • JaCoCo
  • Spotless
05

Infraestructura & CI/CD

  • Docker
  • GitHub Actions
06

Actualmente aprendiendo

Tecnologías que estoy explorando para ampliar mis conocimientos en desarrollo backend, automatización e infraestructura.

  • Kubernetes
  • Cassandra
  • AWS
Proyectos

Proyectos backend construidos desde cero, priorizando arquitectura, buenas prácticas y código mantenible.

01Equipo-01-Proyecto-Bytes-Colaborativos

FleetControl

Plataforma de gestión de flotas

  • Java 17
  • Spring Boot
  • Microservicios
  • Spring Cloud Gateway
  • Spring Security
  • JWT
  • PostgreSQL
  • Flyway
  • OpenFeign
  • Resilience4j
  • JUnit 5
  • Testcontainers
  • OpenAPI
  • Checkstyle
  • PMD
  • Spotless
  • Docker

Proyecto en equipo desarrollado en un sprint Scrum de 2 semanas: backend de gestión de flotas con 9 microservicios (gateway, autenticación, vehículos, conductores, rutas, mantenimiento, combustible, alertas y un panel ejecutivo). Se levanta con un solo docker compose up y genera sus propios datos de demostración.

Mi rol: coordinación del equipo, estándares de ingeniería y servicios principales
  • Flujo de Git: dev para integración y main para versiones estables, una rama por tarea con el nombre tipo/número-issue-descripción, sin commits directos y con al menos una aprobación de alguien distinto al autor
  • Convenciones: Conventional Commits, un formato común de descripción de PR (trabajo realizado, archivos cambiados, notas para probarlo) y reglas de Javadoc y de migraciones Flyway, todo recogido en un CONTRIBUTING.md
  • Control de calidad: Spotless, Checkstyle (estilo Google) y PMD, con workflows de GitHub Actions de calidad de código, commit lint y builds de Docker en las PR a dev y main
  • Organización: cada miembro es responsable de un microservicio completo (código, tests y documentación); definí la arquitectura en capas y la estructura del proyecto, revisé el código del equipo y añadí un AGENTS.md para que los asistentes de IA sigan las mismas reglas
  • Microservicios propios: construí ms-auth, ms-gateway, ms-maintenance, ms-dashboard y ms-alerts, terminé ms-drivers y ms-vehicles, y mejoré ms-routes y ms-fuel (seeders de datos de demostración, seguridad y resiliencia)
  • Autenticación centralizada: ms-auth emite el JWT y cada servicio de dominio lo valida; las llamadas entre servicios (OpenFeign) se autentican con una clave interna que el gateway elimina de las peticiones externas
  • Gateway único con enrutamiento, rate limiting por IP (Caffeine), trazado con request ID y health check en paralelo de los servicios
  • Resiliencia con Resilience4j (circuit breakers) en las llamadas entre servicios
  • Contrato de errores común: todos los servicios traducen sus excepciones al mismo formato de respuesta
  • Esquema versionado en PostgreSQL con migraciones Flyway y JPA en modo validate
  • Funciona sin APIs externas: un seeder genera datos de demostración reproducibles (semilla e histórico configurables) al arrancar
  • Tests unitarios con JUnit 5 y Mockito, tests de integración con Testcontainers (PostgreSQL) y Swagger UI en cada servicio
02HotelReservationApp

Inntry

Plataforma de reservas de hoteles

  • Java 21
  • Spring Boot
  • Microservicios
  • Spring Security
  • Spring Cloud
  • Resilience4j
  • PostgreSQL
  • Kafka
  • Redis
  • Docker
  • Checkstyle
  • PMD
  • Spotless
  • JaCoCo
  • Angular

Plataforma de reservas hoteleras construida como un conjunto de microservicios Spring Boot detrás de un gateway único. Los huéspedes buscan disponibilidad, reservan y cancelan habitaciones, y reciben un email en cada paso; el panel de administración gestiona hoteles, habitaciones, precios y fotos por separado.

  • 7 microservicios independientes (auth, gateway, catálogo, disponibilidad, reservas, notificaciones, agente IA), cada uno con su propia base de datos PostgreSQL
  • Eventos de reserva vía Kafka hacia el servicio de notificaciones; Redis para rate limiting y estado de sesión del agente IA
  • Gateway centraliza la validación JWT y reenvía identidad a los servicios internos vía headers, evitando decodificar el token en cada uno
  • Recomendaciones y chat de soporte con IA (Gemini) como servicio independiente
  • Frontend propio en Angular 21 + Tailwind CSS consumiendo el gateway
03menuFlow

MenuFlow

Gestión de pedidos para restaurantes vía QR

  • Java 21
  • Spring Boot
  • Spring Security
  • MySQL
  • WebSocket
  • JWT
  • OpenAPI

Monolito Spring Boot para digitalizar la operativa de un restaurante: cada mesa genera un código QR que abre una sesión de pedido, con carta multi-idioma, gestión de pedidos y facturación, y actualizaciones en tiempo real por WebSocket.

  • Autenticación con JWT y control de acceso por roles
  • Generación de códigos QR por mesa (ZXing) vinculados a sesiones de mesa
  • Carta con soporte multi-idioma mediante entidades de traducción independientes (platos, categorías, alérgenos)
  • Ciclo completo de pedido: categorías, platos, ingredientes y alérgenos, con facturación y métodos de pago
  • WebSockets para reflejar el estado de pedidos y mesas en tiempo real
04spring-boot-chat-backend

Chat Backend

Backend de chat en tiempo real

  • Java 21
  • Spring Boot
  • WebSocket
  • STOMP
  • MongoDB
  • Docker
  • JUnit 5
  • Mockito

Backend de chat en tiempo real e independiente del frontend: difunde los mensajes a todos los clientes conectados, muestra el indicador de "escribiendo" y envía el historial reciente al conectarse.

  • Contrato de mensajería documentado: destinos y topics fijos con payloads tipados y un ejemplo de cliente en el README
  • Historial publicado en un topic privado por cliente, con el id del cliente validado mediante un patrón estricto
  • El servidor fija el id y la fecha de cada mensaje y solo persiste mensajes reales, no los eventos de entrada
  • Configurable por entorno (orígenes permitidos, tamaño del historial) y despliegue con Docker Compose con MongoDB persistente
  • Tests con JUnit 5 y Mockito y health check con Spring Actuator
Contacto

Trabajemos juntos

Cuéntame qué tienes en mente. Rellena los campos y se prepara un correo listo para enviar; no se envía nada desde esta web, se abre tu correo con el mensaje ya escrito.

Vista previa del correo

Asunto:

Rellena tu nombre y el mensaje para activar los botones.

Madrid, EspañaDisponible para trabajar