Files
mercadodevida/work/artifacts/CLUB-002/implementer.md

2.1 KiB

Implementer evidence — CLUB-002

Resumen

Implementé la primera superficie frontend/PWA del Club sobre el backend de CLUB-001.

Qué se añadió

1) Proxy Next.js para Club

  • project/frontend/src/app/api/club/[...path]/route.ts

Función:

  • reenviar GET/POST/PATCH al backend
  • propagar cookies entrantes
  • reenviar set-cookie del backend para conservar mdv_club same-origin

2) Rutas frontend del Club

  • project/frontend/src/app/club/page.tsx
  • project/frontend/src/app/club/join/page.tsx
  • project/frontend/src/app/club/card/page.tsx
  • project/frontend/src/components/club/ClubExperience.tsx

Comportamiento:

  • landing Club
  • alta anónima desde POST /api/club/join
  • tarjeta digital con memberCode, saldo y movimientos recientes
  • CTA para abrir la tarjeta cuando ya existe identidad Club en el dispositivo
  • bloque de instalación PWA usando beforeinstallprompt

3) Manifest e iconos PWA

  • project/frontend/src/app/manifest.ts
  • project/frontend/public/images/club-icon-192.png
  • project/frontend/public/images/club-icon-512.png

Además:

  • project/frontend/src/app/layout.tsx ahora declara manifest + metadata Apple Web App + viewport themeColor.

4) Descubribilidad en storefront

  • enlace Club añadido en header y footer.

Decisiones de implementación

  • Reutilicé un único componente cliente ClubExperience para /club, /club/join y /club/card.
  • El frontend consume el backend Club vía proxy Next same-origin para que la cookie mdv_club quede gestionada correctamente por el navegador.
  • La tarjeta muestra una credencial visual móvil basada en memberCode y deja el contrato final de lectura en caja para CLUB-003, como estaba previsto en la fase TPV.

Validación ejecutada

  • cd project/frontend && npm run build
  • ./scripts/verify.sh
  • git diff --check

Riesgos / siguiente paso

  • CLUB-003 debe cerrar el contrato exacto de identificación en TPV/caja para usar la tarjeta digital también en escaneo/lectura operativa.
  • Conviene hacer smoke manual real en navegador/móvil para comprobar el prompt de instalación y la persistencia de mdv_club después de POST /club/join.