Desarrollador Full Stack con enfoque en QA Automation, desarrollo de videojuegos y realidad aumentada. Me apasiona construir soluciones modulares, escalables y bien testeadas, combinando precisión técnica con creatividad.
Lenguajes:
JavaScript · TypeScript · Python · Java · Kotlin · Jetpack Compose · GDScript · R
Frontend:
Vue · React · Angular · Quasar · Nuxt · Next · Vite · Tailwind · Vuetify · Element · Buefy · Mui · Materialize · Bootstrap · Bootswatch · Bootvue · Sass
Backend:
Spring Boot · Node.js · Express · NestJS · Flask · Django
Bases de datos:
MySQL · MariaDB · SQLServer · PostgreSQL · SQLite · MongoDB · Redis · DynamoDB
ORMs:
Sequelize · Prisma
Mobile & Android:
Jetpack Compose · Kotlin · Java · React Native · Ionic · Cordova · Unity · Quasar
Testing & QA:
JUnit · TestNG · JMeter · Mockito · POM · Rest Assured · Postman · Newman · Hamcrest · Cucumber · Jacoco · AssertJ · Selenium WebDriver · WebDriverManager · Selenium IDE · Puppeteer · Cypress · Jasmine · Mocha · Jest · Nightwatch
Videojuegos:
Unity (C#) · Godot (GDScript) · Unreal Engine (C++)
Realidad Aumentada:
SparkAR (JavaScript)
-
🌐 API Testing con Rest-Assured y TestNG
Pruebas automatizadas sobre el endpoint/usersde JSONPlaceholder, usando Rest-Assured, TestNG y Hamcrest.
Validaciones de contenido, rendimiento (< 2s), y pruebas parametrizadas con@DataProvider.
Modularización por tipo de prueba, configuración centralizada debaseURI, y logs completos para trazabilidad.
Diseño autónomo, escalable y defendible para ampliar cobertura fácilmente. -
🏥 Clínica Modular - Automatización BDD
Automatización de pruebas funcionales para aplicación web usando Selenium WebDriver, JUnit 5 y Cucumber.
Validación de login, carga de fichas clínicas y reglas de negocio específicas con enfoque BDD.
Arquitectura modular con Page Object Model, gestión centralizada de WebDriver y aislamiento de escenarios conThreadLocal.
Reportes HTML generados automáticamente (target/cucumber-report.html) y captura de screenshots ante fallos.
Escenarios cubiertos: login, diagnóstico pediátrico, validación de campos obligatorios y confirmación de registro exitoso. -
🛒 Tienda Negocio – Servicios y Pruebas Unitarias
Módulo backend para gestión de productos y descuentos en una tienda virtual, construido con Spring Boot.
Servicios desacoplados (ProductServiceImpl,DiscountServiceImpl) con lógica de negocio clara y validaciones robustas.
Pruebas unitarias con JUnit 5 y Mockito, incluyendo simulación de repositorios, manejo de excepciones y validación de reglas de descuento.
Cobertura funcional: operaciones CRUD, cálculo de precios con descuento, validación de parámetros y errores controlados.
Diseño limpio, trazabilidad y principios de desacoplamiento aplicados. -
🧪 Módulo de Reservas de Canchas - TDD & Mockito
Implementación de módulo de reservas con enfoque TDD, usando JUnit 5, Mockito y cobertura con JaCoCo.
Funcionalidades: registro de canchas, creación/modificación/cancelación de reservas, validación de horarios y duplicados.
Diseño limpio con principios SOLID, simulación de repositorios con mocks, y verificación de interacciones conArgumentCaptor.
Cobertura alta (73%+) con reporte entarget/site/jacoco/index.html.
Historia de usuario y escenario BDD incluidos para trazabilidad funcional. -
🧪 CalculadoraTest
Pruebas unitarias con JUnit 5, Hamcrest, Assumptions y tests parametrizados.
Cobertura de operaciones básicas, manejo de errores y validación de lógica booleana.
Enfoque modular y buenas prácticas de testing. -
💳 Billetera Virtual
App Android desarrollada en Kotlin con arquitectura MVVM.
Incluye API REST, base de datos local con Room, navegación, adaptadores, repositorios,
manejo de preferencias y consumo de red con Retrofit.
Ideal para demostrar patrones limpios y desacoplados en Android. -
🎮 Fastrun
Juego móvil desarrollado en Unreal Engine 5.
El camino se desvanece progresivamente y la dificultad aumenta cada 3 puntos.
Diseño dinámico, mecánicas adaptativas y enfoque en experiencia de usuario.
- 🧪 Portafolio
Creo en el código limpio, modular y extensible.
Me gusta compartir conocimiento, colaborar en proyectos desafiantes y aprender constantemente.

