منصوبے کے بارے میں
ΛNΛLOG ایک مینیمل اینالٹکس ٹول ہے جسے خود میزبان بنانے کے لیے ڈیزائن کیا گیا ہے۔ یہ piratepx سے شدید متاثر ہے اور بڑی اینالٹکس سائٹ کے بجائے ایک چھوٹے، سمجھدار فیچر سیٹ پر مرکوز ہے۔
اس پروجیکٹ میں ایک فرنٹ اینڈ ڈیش بورڈ اور ایک Node.js سرور شامل ہے۔ ایونٹس ایک سادہ API کے ذریعے ریکارڈ کیے جاتے ہیں اور ویب ڈیش بورڈ پر دکھائے جاتے ہیں۔ README میں ڈیش بورڈ کی اسکرین شاٹ اور ایک مختصر ڈیمو ویڈیو دکھائی گئی ہے۔
ذخیرہ کاری پلگ ایبل ہے۔ ANALOG_DATABASE_PROVIDER ویری ایبل چار بیک اینڈز میں سے ایک منتخب کرتا ہے: MongoDB, PostgreSQL, Redis یا SQLite۔ README میں MongoDB, Supabase, Render, CockroachDB, Upstash اور Turso جیسے میزبان فراہم کنندگان تجویز کیے گئے ہیں، اور نوٹ کیا گیا ہے کہ PostgreSQL کو ٹرانزیکشن پولر کنکشن استعمال کرنا چاہیے۔ SQLite کنکشن libsql استعمال کرتے ہیں اور file: URL کے ذریعے مقامی فائل کی طرف اشارہ کر سکتے ہیں۔
کنفیگریشن ماحولیاتی متغیرات کے ذریعے کی جاتی ہے۔ قابل ذکر آپشنز میں ڈیٹا بیس پرووائیڈر اور کنکشن URLs، سرور پورٹ، ANALOG_TOKEN برائے درخواہشات کی حفاظت، ANALOG_PROTECT_POST POST درخواہشات پر ٹوکن ضروری بنانے کے لیے، ANALOG_STATIC_SERVER Node.js سرور کو بنے ہوئے فرنٹ اینڈ بھی فراہم کرنے کے لیے، اور ANALOG_DATABASE_REQUEST_ITEM_COUNT ہر ڈیٹا بیس کال میں API درخواہشات کی تعداد کے لیے شامل ہیں۔ فرنٹ اینڈ ویری ایبلز VITE_ پرfix استعمال کرتے ہیں کیونکہ ایپ Vite کے ساتھ بنائی گئی ہے؛ یہ صفحے کے عنوان، دکھائے گئے وقت کی حد (کم از کم 10، زیادہ سے زیادہ 30)، یہ کنٹرول کرتے ہیں کہ کیا ڈیٹا کلین اپ GET درخواہشات کے ساتھ چلتا ہے، اور کیا API درخواہشات کو ترتیب وار قطار میں رکھا جائے بجائے ایک ساتھ فیسچ کیا جائے۔
README میں دستاویزی ڈپلائمنٹ آپشنز میں npm install اور npm run dev کے ساتھ مقامی ڈویلپمنٹ، build args اور runtime ماحولیاتی متغیرات کے ساتھ Dockerfile، اور cloud services Koyeb, Netlify, Render اور Vercel شامل ہیں جن کے اپنے کنفیگریشن فائلیں ہیں (netlify.toml, render.yaml, vercel.json)۔ Netlify اور Vercel cron کنفیگریشن کے ذریعے روزانہ کلین اپ فنکشن شیڈول کر سکتے ہیں، حالانکہ README وارننگ دیتا ہے کہ شیڈولنگ runtime محدودیتوں کی وجہ سے کام نہ کر سکے۔
API /api/events کے گرد مرکوز ہے۔ ایک POST درخواست جسم میں ایک ایونٹ نام بھیجتی ہے اور OK واپس کرتی ہے; اگر ANALOG_PROTECT_POST اور ANALOG_TOKEN سیٹ ہیں، تو درخواہش کو Authorization ہیڈر میں ٹوکن "Basic " کے ساتھ شامل کرنا ضروری ہے۔ ایک GET درخواہش ڈیٹا کو ایونٹ کے نام سے کلیدی نمبروں کے ارے کے طور پر واپس کرتی ہے۔ یہ paged ڈیٹا بیس کوئریز کے لیے ایک اختیاری cursor parameter قبول کرتی ہے (اس کے بغیر، تمام ڈیٹا ایک ساتھ فیشچ ہوتا ہے) اور fetch کے دوران کلین اپ کو ٹرگر کرنے کے لیے ایک اختیاری کلین اپ parameter۔ جب cursor استعمال ہوتا ہے، تو جواب میں data کے علاوہ nextCursor ویلیو شامل ہوتی ہے۔ جب ANALOG_TOKEN سیٹ ہوتا ہے، تو ڈیش بورڈ URL میں ایک token query parameter درکار ہوتا ہے، مثال کے طور پر hostname/?token=ANALOG_TOKEN۔
کل ملا کر، ΛNΛLOG بنیادی ایونٹ ٹریکنگ کے لیے ایک ہلکا پھلکا، خود میزبان متبادل ہے، جس میں لچکدار ذخیرہ کاری بیک اینڈز اور سیدھے ڈپلائمنٹ راستے شامل ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.