Vista general
Digitrack es una plataforma de análisis de evidencias. La experiencia visible se apoya en una interfaz web, una capa de datos, un corpus procesado, módulos de visualización, exportaciones y analítica de uso. La separación entre piezas responde a responsabilidades técnicas, no a productos distintos.
La arquitectura tiene una idea central: el Panel trabaja con estadísticas agregadas y el Explorador trabaja con entradas del corpus. Ambas vistas consultan el mismo cuerpo de evidencias, aunque lo presentan con niveles de detalle diferentes.
Capas de la plataforma
La interfaz web concentra la navegación, los filtros, los estados de carga, los gráficos, las tablas, las tarjetas de evidencia, las exportaciones y la guía. Está construida con Phoenix LiveView, por lo que muchas interacciones se actualizan sin abandonar la página.
La capa de datos de la plataforma, conocida internamente como Watchtower, publica el contrato que consume la interfaz: metadatos del corpus, agregados del Panel, palabras clave, búsqueda paginada, corpus exportable y resúmenes asociados a búsquedas. Es parte de la misma plataforma aunque tenga su propio límite técnico.
El corpus contiene las entradas monitorizadas y los campos generados o normalizados durante el procesamiento: fechas, fuentes, texto, temas, sentimiento, emoción, país, impacto y enlaces de origen cuando existen.
La analítica de uso registra interacción con el producto en una base separada del corpus. Esa separación permite medir navegación, filtros, exportaciones o búsquedas sin mezclar esos eventos con las evidencias analizadas.
Tecnologías principales
La aplicación web usa Elixir, Phoenix 1.8 y Phoenix LiveView. El servidor HTTP se apoya en Bandit y la supervisión de procesos sigue el modelo OTP de Elixir.
La persistencia de analítica usa PostgreSQL mediante Ecto. Las llamadas HTTP hacia la capa de datos se realizan con Req. Los gráficos se renderizan en el navegador con ECharts y la nube de palabras usa echarts-wordcloud.
La interfaz se construye con Tailwind CSS, componentes Phoenix, JavaScript empaquetado con esbuild y hooks de LiveView para comportamientos concretos: gráficos, exportación, búsqueda de la guía, diagramas Mermaid, consentimiento de búsquedas e incrustaciones opcionales de X.com.
Las exportaciones combinan varias rutas técnicas: CSV desde datos tabulares normalizados, JSON desde el corpus exportable y PDF mediante captura de gráficos del navegador y generación de documento con ChromicPDF.
Diagrama de alto nivel
flowchart LR
Browser[Navegador] --> Phoenix[Interfaz Phoenix LiveView]
Phoenix --> Dashboard[Panel de estadisticas]
Phoenix --> Explorer[Explorador de evidencias]
Dashboard --> DataAPI[Capa de datos Watchtower]
Explorer --> DataAPI
DataAPI --> Corpus[(Corpus procesado)]
Phoenix --> Analytics[(Analitica de uso PostgreSQL)]
Phoenix --> Exports[Exportaciones PDF CSV JSON]
Phoenix --> Guide[Guia Markdown ES EN]Qué explica esta arquitectura
Un gráfico del Panel nace de agregados calculados sobre el corpus. Una tarjeta del Explorador nace de una búsqueda paginada sobre entradas concretas. Una exportación captura el estado de una vista o solicita una representación descargable del corpus. Un evento de analítica describe el uso de la aplicación, no el contenido monitorizado.
Esta distinción ayuda a leer la plataforma sin perder de vista el conjunto: las estadísticas, la búsqueda, los resúmenes, las exportaciones, la privacidad y la guía forman una misma experiencia de análisis.