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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions