ibanking-api-ai/standards/05-client-insumos.md

3.7 KiB

05 — Insumos de Frontend y Especificación de Pantalla

Checklist completo de lo que el equipo de diseño y producto debe proveer antes de iniciar la programación

Uso: Antes de escribir código para cualquier página o componente de Internet Banking, el desarrollador debe rellenar esta especificación con el cliente o diseñador de interfaz. Si quedan dudas de negocio, se usarán mocks provisorios que deberán reemplazarse posteriormente.


§1 — Identificación y Enrutamiento de la Pantalla

Insumo Especificación ¿Completado?
Nombre descriptivo de la pantalla ej. Dashboard de Cuentas
Ruta técnica (URL Path) ej. /dashboard
Nivel de Autenticación Pública / Protegida / Doble Factor Requerido

§2 — Estructura de la Interfaz (UI Mockups)

Adjunta el mockup de Figma o los requerimientos visuales acordados:

  • Layout general: ¿Utiliza el layout principal de navegación o es una pantalla limpia (ej. Login)?
  • Paleta y Componentes: Confirmar que se usen componentes de daisyUI (Botones, Inputs, Modales, Tables) para garantizar consistencia.

Elementos Críticos de la UI:

  1. Header / Breadcrumb: ¿Cuáles son los títulos y navegación?
  2. Formularios e Inputs:
    • Lista de campos con validación en cliente (ej. monto numérico, formato email).
  3. Tablas / Listados:
    • Columnas a mostrar (ej. Número de cuenta cifrado, Saldo real descifrado, Estado).

§3 — Integración de APIs y Backend Downstream

Identificar todas las llamadas de red requeridas para poblar la pantalla:

Acción Método Endpoint (Spring Boot) Payload requerido Respuesta esperada
ej. Cargar saldos GET /cuentas Ninguno (Headers Auth) Listado de Cuentas
ej. Realizar transferencia POST /transferencias { cuentaOrigen, monto, traceId } Recibo de transferencia

Nota: Cualquier dato sensible de esta tabla (monto, número de cuenta) debe marcarse para cifrado Kong perimetral antes de ser enviado.


§4 — Estado Global y Zustand Store

Define qué datos deben persistir en el estado del cliente durante la sesión:

Variable de Estado Tipo Propósito ¿Requiere persistencia?
user Objeto Datos de perfil del usuario logueado Sí (SessionStorage)
theme String Modo claro / oscuro Sí (LocalStorage)
ej. cuentasCargadas Array Lista temporal de cuentas en dashboard ☐ No (Memoria)

§5 — Registro de Logs y Trazabilidad

Define qué eventos críticos del usuario deben quedar grabados en logs/app.log:

Evento Nivel de Log Mensaje Metadata a registrar
ej. Carga de Dashboard [INFO] Carga de dashboard de cuentas {"userId": "<user.id>"}
ej. Click en Transferir [INFO] Acción de transferencia iniciada {"monto": 150, "traceId": "..."}
ej. Intento fallido [WARN] Intento de transferencia saldo insuficiente {"montoRequerido": 5000}

Semáforo de Readiness de Frontend antes de Iniciar

Sección Estado ¿Bloqueante?
§1 Enrutamiento y Auth ☐ Completo / ☐ Incompleto SÍ — define la ruta del archivo Next.js
§2 Componentes visuales ☐ Completo / ☐ Incompleto SÍ — previene rehacer interfaces visuales
§3 Contratos de APIs ☐ Completo / ☐ Incompleto ⚠️ Parcial — se puede crear mock en Next.js Route Handler
§4 Configuración Zustand ☐ Completo / ☐ Incompleto ⚠️ Parcial — se puede definir durante el desarrollo
§5 Registro de Logs ☐ Completo / ☐ Incompleto SÍ — obligatorio para cumplir estándares de trazabilidad