منصوبے کے بارے میں

## جائزہ Lytics ایک سیلف ہوسٹڈ ویب اینالیٹکس سویٹ ہے جس کی توجہ صارف کی پرائیویسی پر ہے۔ یہ ٹریفک کے معیاری میٹرکس، کسٹم SQL پر مبنی کوئریز، اور بصری ہیٹ میپس فراہم کرتا ہے جو صفحات پر صارف کے تعامل کو ظاہر کرتے ہیں۔ اس پروجیکٹ کو کئی ماڈیولز میں تقسیم کیا گیا ہے: - **lytics-ping** – ایک ہلکا پھلکا HTTP اینڈ پوائنٹ جو JavaScript ٹیگ سے ٹریکنگ ڈیٹا وصول کرتا ہے۔ - **lytics-app** – مرکزی Quarkus سروس جو ڈیٹا اسٹور کرتی ہے، رپورٹس تیار کرتی ہے، اور UI فراہم کرتی ہے۔ - **lytics-query** – رپورٹس اور ہیٹ میپس میں استعمال ہونے والی SQL کوئریز کی تصدیق اور ٹرانس پائل کرتا ہے۔ - **tag** – ایک چھوٹا JavaScript اسنیپٹ جسے ویب سائٹ مالکان پنگ سروس کو ایونٹس بھیجنے کے لیے ایمبیڈ کرتے ہیں۔ - **offsite** – ہیٹ میپس کے لیے JavaScript اور رینڈرنگ لاجک جو ایک الگ ڈومین سے لوڈ ہوتے ہیں۔ - **schemas** – MariaDB/MySQL اور ClickHouse کے لیے ڈیٹا بیس اسکیمہ کی تعریفیں۔ ## آرکیٹیکچر یہ پلیٹ فارم اعلی کارکردگی والے اینالیٹکس کے لیے خام ایونٹس کو ClickHouse میں اسٹور کرتا ہے جبکہ ریلیشنل میٹا ڈیٹا MariaDB/MySQL میں رہتا ہے۔ Quarkus پر مبنی سروسز HTTP کے ذریعے رابطہ کرتی ہیں اور `application.properties` کے ذریعے کنفیگریشن شیئر کرتی ہیں۔ ہیٹ میپ رینڈرنگ کلائنٹ سائیڈ پر آف سائٹ اسکرپٹ کے ذریعے کی جاتی ہے، جسے 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 ان تنظیموں کے لیے ایک مکمل اسٹیک فراہم کرتا ہے جنہیں ڈیٹا اسٹوریج اور پروسیسنگ پر باریک بینی سے کنٹرول کے ساتھ آن پریمیس اینالیٹکس کی ضرورت ہے۔