Componentes principales
Esta página resume los componentes principales de Digitrack y las tecnologías que sostienen cada parte. La descripción está orientada a comprender la plataforma, no a navegar por el repositorio archivo por archivo.
Interfaz web
La interfaz web está construida con Phoenix LiveView. Sus vistas principales son el Panel, el Explorador de evidencias, la página informativa, las páginas legales y la guía de usuario.
LiveView mantiene el estado de interacción en el servidor y actualiza el navegador mediante WebSocket cuando la conexión está disponible. Esto encaja bien con filtros, paginación, estados de carga, exportaciones y operaciones asíncronas, porque la pantalla puede reaccionar sin convertir cada cambio en una página nueva.
La presentación visual usa componentes Phoenix, Tailwind CSS y hooks JavaScript concretos para comportamientos que necesitan navegador: gráficos, descarga de archivos, diagramas Mermaid, búsqueda dentro de la guía, consentimiento de búsquedas e incrustaciones de X.com.
API de datos
La capa de datos, conocida internamente como Watchtower, ofrece los endpoints que alimentan el Panel y el Explorador. Desde la interfaz se consulta mediante Req, con tiempos de espera diferenciados según el coste esperado de cada operación.
Sus responsabilidades principales son:
- Publicar metadatos del corpus: fechas disponibles, fuentes, temas y número de entradas.
- Entregar agregados para el Panel: series temporales, distribuciones, cruces, momentum, países, impacto, sentimiento y emoción.
- Resolver búsquedas del corpus con filtros, orden y paginación.
- Proporcionar corpus exportable para descarga JSON.
- Generar o servir resúmenes asociados a búsquedas cuando están disponibles.
Esta capa marca el contrato de datos de la plataforma. La interfaz puede normalizar nombres, adaptar formatos y presentar estados, pero el significado de fuentes, temas, clasificaciones y agregados nace de ese contrato.
Corpus y procesamiento
El corpus es el conjunto de evidencias monitorizadas sobre los derechos digitales. Cada entrada puede incluir texto, fecha, fuente, enlace, título, editor, país, impacto y campos analíticos.
El procesamiento añade estructura para que el corpus sea explorable: temas, sentimiento, emociones, métricas de impacto, fragmentos resaltados y agregados temporales. No todos los campos aparecen en todas las fuentes; por eso la plataforma distingue entre ausencia de dato, valor cero y listas vacías.
El mismo corpus alimenta dos lecturas complementarias: el Panel muestra comportamiento agregado y el Explorador permite abrir las entradas que explican ese comportamiento.
Analítica de uso
La analítica de uso se almacena en PostgreSQL con Ecto. Registra eventos de navegación e interacción para entender cómo se utiliza la plataforma: páginas vistas, pestañas, filtros, exportaciones, búsquedas y duración.
Los eventos generales pasan por una normalización que evita guardar texto libre. Las búsquedas exactas tienen un tratamiento separado y dependen del consentimiento específico de analítica de búsquedas.
Un proceso de limpieza aplica la retención configurada para esos datos. La analítica no forma parte del corpus y no modifica los resultados del Panel ni del Explorador.
Exportaciones
Las exportaciones convierten una vista o un conjunto de datos en archivos descargables.
El PDF se compone a partir del estado del Panel y de imágenes de gráficos renderizados con ECharts en el navegador. El servidor genera el documento final con ChromicPDF y lo entrega mediante un enlace temporal.
El CSV se construye desde tablas concretas del Panel. Su objetivo es facilitar revisión tabular y trabajo posterior en hojas de cálculo o herramientas de análisis.
El JSON entrega el corpus exportable con la estructura disponible en la capa de datos. Es el formato más cercano al dato bruto de la plataforma.
Guía
La guía se sirve desde páginas Markdown localizadas. El español es el texto principal de escritura y el inglés funciona como traducción alineada para mantener el mismo índice disponible en ambos idiomas.
Las páginas pueden incluir diagramas Mermaid renderizados en el navegador. La navegación, el buscador interno y los anclajes se generan desde el índice de la guía y el contenido Markdown.
Operación y despliegue
La aplicación corre como una aplicación OTP supervisada: repositorio de analítica, endpoint web, PubSub, almacenamiento temporal de exportaciones, generación de PDF y tareas asíncronas forman parte del árbol de supervisión.
En producción, la configuración sensible se resuelve mediante variables de entorno: URL pública, base de datos, credenciales de administración, secretos, host permitido, puerto y activación de analítica. El endpoint expone una ruta de salud para comprobaciones de disponibilidad.
El resultado es una plataforma modular desde el punto de vista técnico, pero coherente desde el punto de vista de uso: corpus, estadísticas, búsqueda, exportaciones, privacidad y documentación pertenecen al mismo flujo de análisis.