SmashlyApp

Una web para los amantes del pádel
que buscan su pala ideal

Cristian Teijeiro Parga
Tutor: Michel Maes Bermejo
Grado en Ingeniería del Software  ·  Universidad Rey Juan Carlos  ·  2025–2026
smashly-app.es
1 / 15
Índice
01Contexto y motivación
07Demo en vivo
02Estado del arte
08Arquitectura técnica
03Smashly: la solución
09Calidad y CI/CD
04Metodología
10Conclusiones
05Funcionalidades (I y II)
11Trabajo futuro
06Casos de uso
2 / 15

Contexto y motivación

El pádel crece · la información sigue fragmentada

4M+
jugadores amateurs
en España
200K+
licencias federativas
en 2025
+100
modelos en el mercado,
difíciles de comparar

El problema

1
Información fragmentada en decenas de tiendas — precios cambian cada semana
2
Características técnicas (forma, balance, goma) difíciles de interpretar para amateurs
3
Una pala inadecuada puede provocar lesiones reales: epicondilitis, tendinitis...
4
Ningún sistema centraliza, compara y recomienda con criterios biomecánicos
3 / 15

Estado del arte

Competidores existentes · qué falta en el mercado

PadelZoom

+2.500 palas
PadelZoom
PalaFinder® no recoge lesiones ni datos físicos — sin garantía de seguridad
Comparador sin análisis IA ni radares superpuestos
Formulario de reseñas vacío — sin valoraciones reales de usuarios

TuMejorPala

~400 palas
TuMejorPala
Quiz de nivel y estilo — sin lesiones, sin datos físicos en el algoritmo
Comparador = tabla de specs estática, sin IA ni enlace compartible
Solo reseñas editoriales de expertos — sin valoraciones reales de usuarios
4 / 15
La solución

Una plataforma
completa
e inteligente

Centraliza catálogo, precios, reseñas y recomendaciones. Disponible en producción con usuarios reales.

smashly-app.es
01
Catálogo con +1.000 palas y filtros avanzados
02
Comparador con análisis generado por IA
03
Recomendador personalizado con filtro biomecánico único en el mercado
04
Favoritos, reseñas y perfil de usuario
05
Scrapers automáticos — precios actualizados cada semana
06
Desplegada en producción con usuarios reales
5 / 15

Metodología

~490 h 7 fases
F1 20h
Definición
Sep 25
F2 30h
Config.
Oct 25
F3 120h
Func. Básica
Oct–Dic 25
F4 100h
Func. Interm.
Dic–Mar 26
F5 80h
Func. Avanz.
Mar–Abr 26
F6 60h
Memoria
Abr–May 26
F7 30h
Presentación
May–Jun 26
120h Básica
100h Interm.
80h Avanz.
90h Mem+Pres.
60h Calidad
Kanban CI/CD TDD Git Flow SonarCloud Playwright E2E GitHub Actions Figma → Código
6 / 15

Funcionalidades I

Catálogo · búsqueda · detalle
Catálogo y búsqueda
Catálogo
Cuadrícula + lista · paginación "load more"
Filtros: marca, forma, balance, nivel, precio
Búsqueda global en tiempo real con teclado
Indicadores: oferta, bestseller, precio mínimo
Detalle de pala
Detalle
Especificaciones técnicas completas
Gráfico radar con métricas Testea (escala 0–10)
Precios en múltiples tiendas con enlace directo
Reseñas con distribución de valoraciones
7 / 15

Funcionalidades II

Comparador · recomendador inteligente
Motor híbrido único en el mercado: filtro biomecánico determinista + LLM = seguridad + explicabilidad
Comparador
Comparador
Hasta 3 palas lado a lado
Análisis comparativo generado por IA
Radares superpuestos con métricas Testea
Enlace compartible con token único de 32 chars
Recomendador
Recomendador
Formulario: nivel, estilo, físico, lesiones
Filtro biomecánico determinista (seguridad)
Selección final con LLM (Groq / Gemini)
Top 3 con explicación personalizada
8 / 15

Casos de uso

Tres tipos de actor con distintos niveles de acceso

◆ SMASHLY ◆
VISITANTE Acceso libre · sin registro
Explorar catálogo Ver detalle de pala Comparar palas Buscar con filtros Recomendación básica Leer FAQ
USUARIO REGISTRADO Todo lo anterior, más:
Gestionar favoritos Escribir reseñas Recomendación con perfil y lesiones Perfil de usuario Datos físicos y de juego Listas de palas
ADMINISTRADOR Acceso privilegiado al sistema
Gestionar catálogo Administrar usuarios Moderar contenido Gestionar tiendas Ver estadísticas
9 / 15

Arquitectura técnica

SPA desacoplada · API REST por capas · CI/CD en Render

Arquitectura
Frontend
React 18 + TypeScript · Vite · SPA · PWA
Backend
Node.js + Express · REST API por capas
Base de datos
Supabase (PostgreSQL) · Auth · pgvector
Scrapers
Python · Shopify + Magento · GitHub Actions
Despliegue
Render · CI/CD · Docker
IA
Groq / Gemini LLM + filtro determinista
10 / 15
Trabajo de Fin de Grado · URJC 2025–2026
DEMO EN VIVO
smashly-app.es
QR smashly-app.es Escanea para probar
01
Catálogo y búsqueda
Filtrar por marca, nivel y precio. Búsqueda en tiempo real.
02
Detalle de pala
Especificaciones, radar Testea y precios en múltiples tiendas.
03
Comparador con IA
3 palas, análisis generado por IA y radar superpuesto.
04
Recomendación
Perfil con lesiones → top 3 explicado por LLM.
11 / 15

Calidad y CI/CD

Proceso continuo · no una fase final
Cada push a main

Push
GitHub

Build
+ Lint

Jest
Unit

Supertest
API

Coverage
mínima

SonarCloud
+ ESLint

Deploy
Dev
Release a producción (gate manual)

Playwright
E2E

npm audit
+ SAST

Deploy
Producción
Playwright cubre: registro, login, búsqueda,
comparación, recomendación, favoritos
Jest + Supertest
Pruebas unitarias e integración. TDD en lógica no trivial.
Playwright E2E
Flujos críticos automatizados. Ejecutado en cada release.
SonarCloud + ESLint
Análisis estático: smells, duplicación, mantenibilidad.
npm audit + SAST
Seguridad en dependencias. Rate limiting en API.
12 / 15

Conclusiones

Seguir una metodología y un orden hace el proyecto sostenible en el tiempo
TDD obliga a pensar antes de codificar — los tests no son un extra, son parte del diseño
Kanban con issues reales da visibilidad — sabía en todo momento qué estaba hecho y qué no
Desplegar pronto y con usuarios reales enseña más que meses de planificación
13 / 15

Trabajo futuro

Líneas de evolución identificadas
Motor mejorado
Fine-tuning sobre datos de palas para mayor consistencia y menor latencia
Notificaciones de precio
Alertas configurables por umbral para palas seguidas por el usuario
Perfil público de tiendas
Páginas de tienda con catálogo y valoraciones para que usuarios descubran comercios
Modo oscuro + WCAG
Tema oscuro y cumplimiento riguroso de pautas de accesibilidad WCAG
Entrenamientos personalizados
Planes físicos adaptados al nivel, estilo de juego y datos del perfil del usuario
Directorio de entrenadores
Conectar usuarios con entrenadores de pádel: perfiles, especialidades y contacto
14 / 15
SMASHLY
¡Muchas gracias!
Cristian Teijeiro Parga
Tutor: Michel Maes Bermejo
Grado en Ingeniería del Software  ·  Universidad Rey Juan Carlos  ·  2025–2026
smashly-app.es
QR smashly-app.es Escanea para probar
15 / 15