Aplicación de demostración técnica

Demo de productos
Fastly

Una aplicación Next.js completa que demuestra CDN, Image Optimizer, NGWAF, Bot Management, Edge Rate Limiting e Instant Purge de Fastly. Dos secciones: tienda de bicicletas y portal de medios ciclistas.

Productos Fastly en acción

Cada característica de la app está diseñada para demostrar un producto específico de Fastly.

CDN & Caché

Páginas de catálogo y artículos con Cache-Control, Surrogate-Control y Surrogate-Key para purgas dirigidas.

🛡️

NGWAF & Bot Management

Endpoints de auth, checkout y búsqueda expuestos como POST explícitos para demostrar protección en el edge.

🖼️

Image Optimizer

Imágenes servidas con parámetros ?width, ?height, ?format, ?quality compatibles con Fastly IO.

🔄

Instant Purge

Acción de purge por Surrogate-Key: llama a la API de Fastly si hay credenciales, o simula en consola.

🔒

Autenticación segura

JWT httpOnly + bcrypt. Reset de contraseña por correo vía Resend. Sin librerías que oculten las rutas.

📊

Paywall edge-ready

Metering de artículos premium listo para moverse a Fastly Compute + KV Store sin cambiar el código.

🚲

Tienda de Bicicletas

Catálogo de bicicletas ficticias con búsqueda, carrito, checkout simulado e historial de pedidos. Endpoints POST para demostrar Bot Management y NGWAF.

  • Catálogo paginado por categoría
  • Búsqueda POST con rate limiting
  • Checkout simulado (Luhn + formulario)
  • Headers de caché + Surrogate-Key
Ir a la Tienda →
📰

Medios de Ciclismo

Portal de artículos ficticios sobre ciclismo con categorías, autores y paywall de artículos premium listo para edge con Fastly Compute.

  • 30 artículos en 5 categorías
  • Paywall de artículos premium
  • Portadas generadas con sharp
  • Caché larga + Surrogate-Key por artículo
Ir a Medios →

Endpoints para automatización

Todos con selectores data-testid para Selenium/Playwright

POST

/api/auth/registro

Registro de usuario

POST

/api/auth/login

Inicio de sesión

POST

/api/auth/logout

Cierre de sesión

POST

/api/auth/reset

Solicitar reset

POST

/api/carrito

Gestión de carrito

POST

/api/checkout

Crear pedido

GET

/api/buscar?q=...

Búsqueda de productos

POST

/api/admin/purge

Instant Purge

GET

/healthz

Health check