Sobre el proyecto
Flarelytics es un proyecto de análisis web de código abierto diseñado para medir el tiempo que los visitantes pasan leyendo contenido en un sitio web. Su objetivo es ofrecer una alternativa respetuosa con la privacidad a los servicios de análisis convencionales, que suelen recopilar amplios datos personales o no cuentan con métricas precisas de tiempo de permanencia.
**Arquitectura**
- **Script de navegador** (ubicado en la carpeta `analytics`): un pequeño fragmento de JavaScript que los propietarios de sitios web insertan en sus páginas. Genera un UUID para cada sesión de visitante y envía dos eventos al backend: uno cuando se carga la página y otro cuando la página se oculta o se descarga.
- **Backend** (en `src`): una aplicación TypeScript desplegada como Cloudflare Worker. Expone una API HTTP sencilla que recibe los eventos y los almacena en una base de datos PlanetScale compatible con MySQL. El backend también agrega los eventos sin procesar en estadísticas de tiempo de permanencia por página que se pueden consultar en un panel de control.
**Características clave**
- Autoalojado: ejecuta el worker en tu propia cuenta de Cloudflare y almacena los datos en tu propia base de datos PlanetScale.
- Centrado en la privacidad: no utiliza cookies de seguimiento de terceros, no registra direcciones IP y todos los datos permanecen bajo tu control.
- Admite un solo dominio (las versiones futuras podrían añadir gestión de múltiples dominios).
- Flujo de despliegue sencillo mediante `wrangler` y `pnpm`.
**Flujo de desarrollo**
1. Crea cuentas gratuitas de Cloudflare y PlanetScale.
2. Clona el repositorio e instala Node.js v18 o superior, pnpm y la CLI de PlanetScale.
3. Configura una base de datos PlanetScale llamada `flarelytics` con las ramas `main` y `dev`; usa la rama `dev` para el trabajo local.
4. Crea un Cloudflare Worker (por ejemplo, `flarelytics-dev`) y almacena las credenciales de la base de datos como variables de entorno secretas.
5. Ejecuta `pnpm run setup-test-db` para crear las tablas, luego `pnpm run dev` para iniciar un worker local.
6. Despliega con `npm run deploy-dev` cuando estés listo para un entorno de prueba.
**Contribución**
El proyecto es mantenido por el Google Developer Student Club de la Universidad de Tecnología y Economía de Budapest. Se anima a los colaboradores a elegir incidencias del rastreador de GitHub, seguir el flujo estándar de bifurcación-rama-PR y cumplir con las pautas de contribución descritas en el README.
**Estado**
Flarelytics está en desarrollo activo y aún no se recomienda su uso en entornos de producción. Los planes futuros incluyen soporte para múltiples dominios, paneles de control más completos y autenticación opcional para la interfaz de análisis.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.