Sobre el proyecto
## Descripción general
Lytics es un conjunto de análisis web autohospedado enfocado en la privacidad del usuario. Ofrece métricas estándar de tráfico, consultas personalizadas basadas en SQL y mapas de calor visuales que muestran la interacción del usuario en las páginas. El proyecto se divide en varios módulos:
- **lytics-ping** – punto final HTTP ligero que recibe datos de seguimiento desde la etiqueta de JavaScript.
- **lytics-app** – el servicio principal basado en Quarkus que almacena datos, genera informes y sirve la interfaz de usuario.
- **lytics-query** – valida y transpila consultas SQL utilizadas por los informes y mapas de calor.
- **tag** – un pequeño fragmento de JavaScript que los propietarios de sitios web incrustan para enviar eventos al servicio ping.
- **offsite** – lógica de JavaScript y renderizado para mapas de calor cargados desde un dominio separado.
- **schemas** – definiciones de esquemas de base de datos para MariaDB/MySQL y ClickHouse.
## Arquitectura
La plataforma almacena eventos sin procesar en ClickHouse para análisis de alto rendimiento, mientras que los metadatos relacionales residen en MariaDB/MySQL. Los servicios basados en Quarkus se comunican mediante HTTP y comparten configuración a través de `application.properties`. El renderizado de mapas de calor se realiza del lado del cliente usando el script off-site, construido con npm y servido como activo estático por el servidor Quarkus.
## Primeros pasos
1. **Configuración de base de datos** – provisiona una instancia de MariaDB/MySQL y un clúster de ClickHouse. Aplica los esquemas desde el directorio `schemas`.
2. **Configuración** – edita `lytics-app/src/main/resources/application.properties` con cadenas de conexión y cualquier opción deseada.
3. **Compilación** – ejecuta `mvn package` para compilar todos los módulos.
4. **Ejecutar servicios**:
```bash
java -Dquarkus.config.locations=application.properties -jar lytics-ping/target/lytics-ping-1.0.0-SNAPSHOT-runner.jar
java -Dquarkus.config.locations=application.properties -jar lytics-app/target/lytics-app-1.0.0-SNAPSHOT-runner.jar
```
5. **Desarrollo** – usa el plugin de Quarkus en IntelliJ o `quarkus dev` desde la línea de comandos. Para cambios en el script de mapa de calor, ejecuta `npm run watch` dentro del directorio `offsite`; la salida se coloca en `lytics-app/src/main/resources/web/static/offsite/offsite.min.js`.
## Solución de problemas
Si encuentras problemas de resolución de dependencias o errores en el entorno de desarrollo, una reinstalación limpia puede ayudar:
```bash
mvn clean install -U
```
## Casos de uso
- Seguimiento de visitantes compatible con privacidad para sitios web que no pueden usar análisis de terceros.
- Mapas de calor visuales para entender el comportamiento de clics y desplazamiento sin comprometer los datos del usuario.
- Consultas SQL personalizables para informes avanzados y exportación de datos.
Lytics proporciona una pila completa para organizaciones que necesitan análisis local con control fino sobre el almacenamiento y procesamiento de datos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.