इस प्रोजेक्ट के बारे में

Flarelytics एक ओपन-सोर्स वेब-एनालिटिक्स प्रोजेक्ट है जिसे वेबसाइट पर कंटेंट पढ़ने में visitors द्वारा बिताए गए समय को मापने के लिए डिज़ाइन किया गया है। यह mainstream analytics services के लिए एक प्राइवेसी-रेस्पेक्टिंग विकल्प प्रदान करने का लक्ष्य रखता है, जो अक्सर extensive personal data एकत्र करते हैं या precise dwell-time metrics से वंचित होते हैं。 **Architecture** - **Browser script** (`analytics` folder में स्थित) – एक छोटा JavaScript snippet जिससे website owners अपनी pages में embed करते हैं। यह प्रत्येक visitor session के लिए एक UUID जनरेट करता है और backend को दो events भेजता है: एक page load होने पर और दूसरा page hide/unload होने पर। - **Backend** (`src` में) – एक TypeScript application जिसे Cloudflare Worker के रूप में deploy किया जाता है। यह एक simple HTTP API expose करता है जो events प्राप्त करके उन्हें PlanetScale MySQL-compatible database में store करता है। Backend raw events को per-page dwell-time statistics में aggregate भी करता है जिन्हें dashboard पर देखा जा सकता है। **Key features** - Self-hosted: worker को अपने Cloudflare account पर चलाएं और data अपने PlanetScale database में store करें。 - Privacy-first: कोई third-party tracking cookies नहीं, कोई IP logging नहीं, और सभी data आपके नियंत्रण में रहता है। - Single-domain support (future versions में multi-domain handling जुड़ सकता है)。 - `wrangler` और `pnpm` का उपयोग करके simple deployment workflow。 **Development workflow** 1. मुफ्त Cloudflare और PlanetScale accounts बनाएं。 2. Repo clone करें और Node.js v18+, pnpm, और PlanetScale CLI install करें。 3. `flarelytics` नाम का एक PlanetScale database `main` और `dev` branches के साथ setup करें; local work के लिए `dev` branch का उपयोग करें。 4. एक Cloudflare Worker (e.g., `flarelytics-dev`) बनाएं और database credentials को secret environment variables के रूप में store करें。 5. tables create करने के लिए `pnpm run setup-test-db` चलाएं, फिर local worker शुरू करने के लिए `pnpm run dev` चलाएं。 6. जब test environment के लिए ready हो तो `npm run deploy-dev` के साथ deploy करें。 **Contribution** प्रोजेक्ट Budapest University of Technology and Economics के Google Developer Student Club द्वारा maintain किया जाता है। Contributors को GitHub tracker से issues pick करने, standard fork-branch-PR flow का पालन करने, और README में outlined contribution guidelines का अनुसरण करने के लिए कहा जाता है। **Status** Flarelytics active development में है और production use के लिए अभी recommended नहीं है। Future plans में multi-domain support, richer dashboards, और optional authentication for analytics UI शामिल हैं।