Portfolio

Projects

Technical projects focused on QA, automation, backend and systems administration.

Microservice Observability Lab

Reproducible observability lab built around a small FastAPI API with Prometheus and Grafana, focused on monitoring, structured logs and incident diagnosis.

Stack: Python 3.12, FastAPI, Uvicorn, Prometheus, Grafana, Docker Compose, JSON logging

Cross-language contract testing with Pact + Broker

Cross-language contract testing project between a Python consumer and a Java/Spring Boot provider, using Pact Broker on Docker and PostgreSQL to publish and verify contracts. The workflow includes commit-based versioning, verification through the Broker and real gating with can-i-deploy in GitHub Actions to block deployments when breaking changes appear.

Stack: Pact, Pact Broker, Python, Java, Spring Boot, Docker, PostgreSQL, GitHub Actions

Playwright + TypeScript E2E automation

End-to-end automation project with Playwright and TypeScript that applies the Page Object Model on Sauce Demo, separates smoke and regression suites through tags, and keeps failure evidence with screenshots and traces. The project includes reproducible local and CI execution, a pull request workflow for smoke tests, and nightly publication of the HTML report on GitHub Pages.

Stack: Playwright, TypeScript, GitHub Actions, GitHub Pages, Node.js

Java microservice test harness

Java microservice with a REST API and real PostgreSQL persistence, designed to validate correctness, reproducibility and end-to-end testing under production-like conditions. The project manages the schema exclusively with Flyway, runs integration tests with RestAssured and Testcontainers, verifies idempotency and error cases, and applies quality gates in GitHub Actions with Spotless and JaCoCo.

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

Python testing pyramid lab

Python testing project focused on the testing pyramid around a minimal FastAPI SUT, with unit tests for business logic, API integration tests with FastAPI TestClient and input validation with Pydantic. The project also includes an implementation with SQLite persistence to compare fast tests and tests with real storage, and applies CI quality gates with ruff, pytest and coverage.

Stack: Python, FastAPI, Pytest, SQLite, Ruff, GitHub Actions

Java QA automation starter

Java QA automation starter that combines UI tests with Selenium/JUnit, BDD scenarios with Cucumber and API tests with Postman/Newman against public targets. The project includes reproducible local and CI execution, report and artifact generation, and QA documentation for strategy, risks and test design.

Stack: Java, Selenium, JUnit, Cucumber, Postman, Newman, GitHub Actions, Maven

Python sysadmin toolkit

Python CLI built with Typer for disk and network checks, and log analysis with JSON and CSV export. The project organises specific commands for basic monitoring and service validation, and includes automated tests and CI with ruff and pytest to ensure quality and reproducibility.

Stack: Python, Typer, Pytest, Ruff, GitHub Actions

Java learning lab

Backend-oriented Java practice repository that combines foundational katas validated with JUnit and a Spring Boot module with a REST API, JSON responses, input validation, CRUD operations and integration tests. The project adds persistence with H2 and JPA, Swagger documentation and JaCoCo coverage to bring together language practice and backend development in a structured working base.

Stack: Java, JUnit, Spring Boot, JPA, H2, Swagger, JaCoCo, GitHub Actions, Maven

En la línea de ensayo

News and analysis website built with WordPress, focused on content management, SEO optimisation and technical server maintenance, including domain, database and SSL certificate configuration.

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

El Dragón de Alejandría

Digital library deployed on a self-managed server to manage items, covers, categories, quotes and reading statistics, with a private administration area, authentication and secure deployment on Nginx, Flask and PostgreSQL.

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

CI/CD pipeline with Jenkins, Docker and Flask

CI/CD pipeline for a Flask web application that runs automated tests with pytest, builds and publishes the Docker image, and deploys to a Linux VPS through SSH and docker-compose, with email notification at the end.

Stack: Python, Flask, Docker, Jenkins, Linux