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

Flarelytics एक ओपन-सोर्स वेब विश्लेषण प्लेटफॉर्म है जो विशिष्ट पृष्ठों पर आगंतुकों द्वारा बीते समय को ट्रैक करने के लिए डिज़ाइन किया गया है। इसे मौजूदा विश्लेषण सेवाओं में 'पृष्ठ-पर-समय' मेट्रिक्स की कमी और गुप्तता से संबंधित चिंताओं को समाधान करने के लिए बनाया गया है। **मुख्य विशेषताएं** - ब्राउज़र-साइड जावास्क्रिप्ट स्निपेट जो प्रत्येक आगंतुक के लिए अद्वितीय UUID उत्पन्न करता है और *खोलें* और *बंद* घटनाएं बैकएंड को भेजता है। - टाइपस्क्रिप्ट में लिखा गया बैकएंड, Cloudflare Workers पर चलता है, जो घटना इनपुट और डैशबोर्ड क्वेरी के लिए एक कम से कम HTTP API प्रदान करता है। - घटनाएं डेटाबेस में संग्रहीत करता है; प्रोजेक्ट के मूल रूप से MongoDB का उपयोग किया गया था और बेहतर स्केलेबिलिटी के लिए PlanetScale/MySQL में स्थानांतरण किया जा रहा है। - प्रत्येक डिप्लॉयमेंट में एक ही डोमेन का समर्थन करता है (भविष्य में कई डोमेन समर्थन योजना में है)। - गुप्तता-पहले दृष्टिकोण: कोई तृतीय-पक्ष ट्रैकिंग नहीं, पूरी तरह से स्व-होस्ट किया गया, और यूरोपीय संघ के नियमों के साथ संगत। **आर्किटेक्चर** 1. **ब्राउज़र स्क्रिप्ट** (`/analytics`): लक्षित वेबसाइट में एम्बेडेड, यह पृष्ठ लोड/अनलोड घटनाओं को रिकॉर्ड करता है और उन्हें Worker को पोस्ट करता है। 2. **Cloudflare Worker** (`/src`): घटनाओं को प्राप्त करता है, उन्हें डेटाबेस में लिखता है और डैशबोर्ड के लिए डेटा का संकलन करता है। 3. **डेटाबेस**: वर्तमान में MongoDB, परिणामों के लिए और विश्वसनीयता के लिए PlanetScale (MySQL संगत) में स्थानांतरण किया जा रहा है। **विकास स्थिति** - बुडापेस्ट यूनिवर्सिटी ऑफ टेक्नोलॉजी एंड एक्सपरिमेंटल एक्सपर्टिस के Google Developer Student Club के तहत सक्रिय विकास। - अभी तक उत्पादन-तैयार नहीं है; रिपॉजिटरी में योगदान के निर्देश और विकास सेटअप शामिल हैं। **शुरू करना** - मुफ्त Cloudflare और PlanetScale खाते बनाएं। - Node.js (nvm के माध्यम से सिफारिश किया गया) स्थापित करें और `npm install` चलाएं। - स्थानीय परीक्षण के लिए `.dev.vars` में सेक्रेट्स कॉन्फ़िगर करें या उत्पादन के लिए Cloudflare UI के माध्यम से। - `npm run dev` के साथ स्थानीय Workers सर्वर शुरू करें। **योगदान देना** - GitHub रिपॉजिटरी या प्रोजेक्ट बोर्ड से एक खुला मुद्दा चुनें। - रिपॉजिटरी को फोर्क करें, विकास सेटअप का पालन करें, और GitHub flow के उपयोग करके पुल रिक्वेस्ट जमा करें। **लाइसेंस** - GPLv3। Flarelytics का उद्देश्य साइट मालिकों को बाहरी विश्लेषण प्रदाताओं पर निर्भर किए बिना रीडर एंगेजमेंट को समझने के लिए एक सरल, गुप्तता-सम्मानी तरीका प्रदान करना है।