Skip to content

AI Radar: conectar el dashboard a datos reales o declarar sincronizacion fixture/API #3

Description

@juanmelo0494

Evidencia

El frontend actual renderiza el dashboard desde fixture estatico:

  • app/page.js importa dashboard desde ../fixtures/dashboard.json.
  • public/dashboard.js solo filtra filas ya renderizadas y no hace fetch a /api/signals.
  • fixtures/dashboard.json declara source.type = fixture y menciona como API relacionada GET /api/signals?fecha=&source_type=&limit=.

Por esto, una fuente nueva agregada a Notion y sincronizada en Supabase no seria visible en el frontend sin actualizar el fixture o cambiar la fuente de datos de la pagina.

Pasos para reproducir

  1. Abrir app/page.js.
  2. Confirmar que los datos vienen de ../fixtures/dashboard.json.
  3. Abrir public/dashboard.js.
  4. Confirmar que no hay llamadas a /api/signals ni a otro endpoint server-side.
  5. Sincronizar o imaginar una fuente nueva en Supabase.
  6. Cargar el dashboard y observar que solo aparecen las fuentes declaradas en el fixture.

Resultado esperado

El dashboard debe mostrar informacion nueva proveniente del flujo real de AI Radar, o debe declarar explicitamente que esta en modo fixture y proveer un proceso de actualizacion verificable para ese fixture.

Resultado actual

La UI muestra datos estaticos y no refleja cambios en Notion/Supabase. Esto bloquea el caso de uso: "asegurate de que la nueva informacion sea visible".

Archivos probables

  • app/page.js
  • public/dashboard.js
  • fixtures/dashboard.json
  • app/api/signals/route.js
  • lib/supabase/signals.js
  • tests/dashboard-fixture.test.js

Criterio de aceptacion

  • La fuente de datos del dashboard queda definida: API real server-side o fixture declarado y actualizable.
  • Si usa API real, el navegador no recibe secretos y la frontera server-side respeta Authorization: Bearer $AI_RADAR_API_TOKEN o una ruta segura equivalente.
  • Una fuente/senal nueva persistida aparece en la UI sin editar manualmente datos inline.
  • Los estados loading, success, empty, error y no-results siguen siendo alcanzables para QA.
  • Hay pruebas que cubren el contrato de datos que consume la UI.
  • npm test y npm run build pasan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions