Portfolio

Proyectos

Proyectos técnicos orientados a QA Automation, DevOps, backend y administración de sistemas.

IOC Reputation Checker

API backend para analizar indicadores de compromiso, clasificarlos, aplicar reglas locales de riesgo, simular enriquecimiento OSINT y conservar los resultados para consultas posteriores.

Python 3.13 FastAPI Uvicorn Pydantic SQLAlchemy PostgreSQL 16 Alembic Docker Compose Pytest HTTPX Ruff GitHub Actions

Release Gatekeeper

Aplicación web en PHP para gestionar solicitudes de despliegue mediante controles técnicos, reglas de negocio, API JSON, SQLite, Docker y tests automatizados.

PHP 8.3 Slim Framework Composer SQLite PDO PHPUnit Docker Compose GitHub Actions HTML CSS JavaScript

English Practice Hub

Web interactiva para practicar inglés con ejercicios por unidades, niveles y tipos de examen, pensada para estudiar de forma autónoma durante todo el año.

HTML CSS JavaScript Git GitHub GitHub Pages

Membership Rules Engine

Backend en Java/Spring Boot que modela reglas de negocio para socios de un club ficticio, con descuentos, ventanas de venta, asignación de entradas para una final, lista de espera, cancelaciones, persistencia, tests, CI y demo visual.

Java 21 Spring Boot Maven REST API PostgreSQL Flyway Spring Data JPA JUnit 5 AssertJ Testcontainers JaCoCo GitHub Actions HTML CSS JavaScript GitHub Pages

Site Security Audit

Herramienta en Bash para realizar auditorías pasivas de seguridad sobre sitios web propios o autorizados, generando informes técnicos con hallazgos, evidencias y recomendaciones.

Bash Linux curl Nginx HTTP HTTPS TLS WordPress Git GitHub Administración de sistemas Seguridad web

Microservice Observability Lab

Laboratorio reproducible de observabilidad sobre una API pequeña con FastAPI, Prometheus y Grafana, orientado a monitorización, logs estructurados y diagnóstico de incidencias.

Python 3.12 FastAPI Uvicorn Prometheus Grafana Docker Compose JSON logging

Cross-language contract testing with Pact + Broker

Proyecto de contract testing cross-language entre un consumer en Python y un provider en Java/Spring Boot, con Pact Broker sobre Docker y PostgreSQL para publicar y verificar contratos. El flujo incluye versionado por commit, verificación desde el Broker y gating real con can-i-deploy en GitHub Actions para bloquear despliegues cuando hay breaking changes.

Pact Pact Broker Python Java Spring Boot Docker PostgreSQL GitHub Actions

Playwright + TypeScript E2E automation

Proyecto de automatización E2E con Playwright y TypeScript que aplica Page Object Model sobre Sauce Demo, separa suites smoke y regression mediante tags, y conserva evidencia en fallo con screenshot y trace. El proyecto incluye ejecución reproducible en local y en CI, con workflow de PR para smoke y publicación nightly del informe HTML en GitHub Pages.

Playwright TypeScript GitHub Actions GitHub Pages Node.js

Java microservice test harness

Microservicio Java con API REST y persistencia real sobre PostgreSQL, diseñado para validar corrección, reproducibilidad y pruebas end-to-end en condiciones cercanas a producción. El proyecto gestiona el esquema exclusivamente con Flyway, ejecuta pruebas de integración con RestAssured y Testcontainers, verifica idempotencia y casos de error, y aplica quality gates en GitHub Actions con Spotless y JaCoCo.

Java Spring Boot PostgreSQL Flyway JPA JUnit 5 RestAssured Testcontainers Maven JaCoCo GitHub Actions

Python testing pyramid lab

Proyecto de testing en Python centrado en la testing pyramid sobre una FastAPI SUT mínima, con tests unitarios para lógica de negocio, pruebas de integración API con FastAPI TestClient y validación de entrada con Pydantic. El proyecto incluye además una implementación con persistencia SQLite para contrastar pruebas rápidas y pruebas con almacenamiento real, y aplica quality gates en CI con ruff, pytest y coverage.

Python FastAPI Pytest SQLite Ruff GitHub Actions

Java QA automation starter

Starter de automatización QA en Java que combina pruebas UI con Selenium/JUnit, escenarios BDD con Cucumber y pruebas API con Postman/Newman sobre objetivos públicos. El proyecto incluye ejecución reproducible en local y CI, generación de reportes y artefactos, y documentación QA para estrategia, riesgos y diseño de pruebas.

Java Selenium JUnit Cucumber Postman Newman GitHub Actions Maven

Python sysadmin toolkit

CLI en Python con Typer para comprobaciones de disco y red, y análisis de logs con exportación de resultados en JSON y CSV. El proyecto organiza comandos específicos para monitorización básica y validación de servicios, e incluye tests automatizados y CI con ruff y pytest para asegurar calidad y reproducibilidad.

Python Typer Pytest Ruff GitHub Actions

Java learning lab

Repositorio de práctica en Java orientado a backend que combina katas de fundamentos validadas con JUnit y un módulo Spring Boot con API REST, respuestas JSON, validación de entrada, operaciones CRUD y tests de integración. El proyecto añade persistencia con H2 y JPA, documentación Swagger y cobertura con JaCoCo para reunir práctica de lenguaje y desarrollo backend en una base de trabajo estructurada.

Java JUnit Spring Boot JPA H2 Swagger JaCoCo GitHub Actions Maven

En la línea de ensayo

Sitio web de noticias y análisis desarrollado con WordPress, orientado a la gestión de contenidos, optimización SEO y mantenimiento técnico del servidor, con configuración de dominio, base de datos y certificados SSL.

WordPress MySQL SEO SSL/TLS DNS DevOps Administración de servidores

El Dragón de Alejandría

Biblioteca digital desplegada en servidor propio para gestionar ejemplares, portadas, categorías, citas y estadísticas de lectura, con zona privada de administración, autenticación y despliegue seguro sobre Nginx, Flask y PostgreSQL.

Linux Nginx Python Flask PostgreSQL Jinja2 Gunicorn Let's Encrypt TLS DNS

Pipeline CI/CD con Jenkins, Docker y Flask

Pipeline CI/CD para una aplicación web en Flask que ejecuta pruebas automatizadas con pytest, construye y publica la imagen Docker, y despliega en un VPS Linux mediante SSH y docker-compose, con notificación por correo al finalizar.

Python Flask Docker Jenkins Linux