À propos du projet

Flarelytics est une plateforme d'analyse web open-source conçue pour suivre le temps passé par les visiteurs sur des pages individuelles. Elle a été créée pour répondre aux préoccupations liées à la vie privée ainsi qu'à l'absence de mesures du « temps sur la page » dans de nombreux services d'analyse existants. **Fonctionnalités principales** - Un snippet JavaScript côté navigateur qui génère un UUID unique par visiteur et envoie les événements *ouverture* et *fermeture* au backend. - Un backend écrit en TypeScript, exécuté sur Cloudflare Workers, exposant une API HTTP minimale pour l'ingestion d'événements et les requêtes du tableau de bord. - Stockage des événements dans une base de données ; le projet utilisait initialement MongoDB et passe actuellement à PlanetScale/MySQL pour une meilleure évolutivité. - Prise en charge d'un seul domaine par déploiement (prise en charge multi-domaine prévue dans le futur). - Approche axée sur la confidentialité : pas de suivi tiers, entièrement auto-hébergé et conforme aux réglementations de l'UE. **Architecture** 1. **Script navigateur** (`/analytics`) : intégré au site cible, il enregistre les événements de chargement/déchargement de page et les transmet au Worker. 2. **Cloudflare Worker** (`/src`) : reçoit les événements, les écrit dans la base de données et agrège les données pour le tableau de bord. 3. **Base de données** : actuellement MongoDB, passage prévu vers PlanetScale (compatible MySQL) pour des requêtes relationnelles et une meilleure fiabilité. **État du développement** - Développement actif mené par le Google Developer Student Club de l'Université technologique de Budapest. - Pas encore prêt pour la production ; le dépôt contient des directives de contribution ainsi qu'une configuration de développement. **Démarrage** - Créer des comptes gratuits chez Cloudflare et PlanetScale. - Installer Node.js (via nvm recommandé) et exécuter `npm install`. - Configurer les secrets dans `.dev.vars` pour les tests locaux ou via l'interface utilisateur de Cloudflare pour la production. - Démarrer un serveur Workers local avec `npm run dev`. **Contribution** - Choisir un problème ouvert depuis le dépôt GitHub ou le tableau du projet. - Forkez le dépôt, suivez la configuration de développement, et soumettez des pull requests en utilisant le flux GitHub. **Licence** - GPLv3. Flarelytics vise à offrir aux propriétaires de sites web un moyen simple et respectueux de la vie privée de comprendre l'engagement des lecteurs sans dépendre de fournisseurs externes d'analyse.