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

## अवलोकन Lytics एक स्व-होस्टेड वेब विश्लेषण सूट है जो उपयोगकर्ता गोपनीयता पर केंद्रित है। यह मानक ट्रैफ़िक मेट्रिक्स, कस्टम SQL-आधारित क्वेरीज़ और उपयोगकर्ता इंटरैक्शन को दिखाने वाले विज़ुअल हीटमैप प्रदान करता है। प्रोजेक्ट कई मॉड्यूलों में विभाजित है: - **lytics-ping** – हल्का HTTP एंडपॉइंट जो JavaScript टैग से ट्रैकिंग डेटा प्राप्त करता है। - **lytics-app** – मुख्य Quarkus सेवा जो डेटा स्टोर करती है, रिपोर्ट बनाती है और UI सर्व करती है। - **lytics-query** – रिपोर्ट और हीटमैप द्वारा उपयोग किए जाने वाले SQL क्वेरीज़ की सत्यापन और ट्रांसपाइलिंग करता है। - **tag** – छोटा JavaScript स्निपेट जिसे वेबसाइट मालिक अपने साइट में एम्बेड करते हैं ताकि इवेंट्स ping सर्विस को भेजे जा सकें। - **offsite** – हीटमैप के लिए JavaScript और रेंडरिंग लॉजिक जो अलग डोमेन से लोड किया जाता है। - **schemas** – MariaDB/MySQL और ClickHouse के लिए डेटाबेस स्कीमा परिभाषाएं। ## आर्किटेक्चर प्लेटफॉर्म के उच्च प्रदर्शन विश्लेषण के लिए कच्चे इवेंट्स ClickHouse में स्टोर किए जाते हैं जबकि संबंधात्मक मेटाडेटा MariaDB/MySQL में रहता है। Quarkus-आधारित सेवाएं HTTP के माध्यम से संचार करती हैं और `application.properties` के माध्यम से कॉन्फ़िगरेशन साझा करती हैं। हीटमैप रेंडरिंग क्लाइंट-साइड पर off-site स्क्रिप्ट के साथ किया जाता है, जो npm के साथ बनाया गया है और Quarkus सर्वर द्वारा स्थिर संपत्ति के रूप में सर्व किया जाता है। ## प्रारंभिक चरण 1. **डेटाबेस सेटअप** – MariaDB/MySQL इंस्टेंस और ClickHouse क्लัส्टर प्राप्त करें। `schemas` निर्देशिका से स्कीमा लागू करें। 2. **कॉन्फ़िगरेशन** – `lytics-app/src/main/resources/application.properties` को कनेक्शन स्ट्रिंग्स और किसी भी वांछित विकल्पों के साथ संपादित करें। 3. **बिल्ड** – सभी मॉड्यूल कंपाइल करने के लिए `mvn package` चलाएं। 4. **सेवाएं चलाएं**: ```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. **विकास** – IntelliJ में Quarkus प्लगइन का उपयोग करें या कमांड लाइन से `quarkus dev` का उपयोग करें। हीटमैप स्क्रिप्ट परिवर्तनों के लिए, `offsite` निर्देशिका में `npm run watch` चलाएं; आउटपुट `lytics-app/src/main/resources/web/static/offsite/offsite.min.js` में रखा जाता है। ## समस्या निवारण यदि आपको निर्भरता समाधान समस्याएं या IDE समस्याएं मिलती हैं, तो एक साफ पुनर्स्थापना मदद कर सकती है: ```bash mvn clean install -U ``` ## उपयोग के मामले - तृतीय-पक्ष विश्लेषण का उपयोग नहीं कर सकने वाली वेबसाइटों के लिए गोपनीयता-संगत विजिटर ट्रैकिंग। - उपयोगकर्ता डेटा को नष्ट न करते हुए क्लिक और स्क्रॉल व्यवहार समझने के लिए विज़ुअल हीटमैप। - उन्नत रिपोर्टिंग और डेटा निर्यात के लिए कस्टमाइज़ेबल SQL क्वेरीज़। Lytics एक पूर्ण स्टैक प्रदान करता है जो उन संगठनों के लिए है जिनको डेटा स्टोरेज और प्रसंस्करण पर विस्तृत नियंत्रण की आवश्यकता होती है।