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

Bast ایک اوپن سورس ویب اینالیٹکس ایپلی کیشن ہے جس کا مقصد چھوٹی سائٹس ہیں جنہیں کوکیز یا تھرڈ پارٹی ٹریکنگ سروسز کے بغیر ٹریفک کی بنیادی معلومات درکار ہوتی ہیں۔ اس کی بنیادی توجہ پرائیویسی اور سادگی پر ہے: اسے ایک ایسے پروجیکٹ کے طور پر بیان کیا گیا ہے جسے مصنف نے ذاتی استعمال کے لیے بنایا اور بعد میں شیئر کیا کیونکہ چند دوستوں کو یہ مفید لگا۔ اہم اسٹیٹس نوٹ: README واضح طور پر بتاتا ہے کہ اس پروجیکٹ کو اب مینٹین نہیں کیا جا رہا۔ کوئی بھی شخص جو اسے استعمال کرنے کا سوچ رہا ہے، اسے ایک ریڈ-اونلی کوڈ بیس، فورک کے لیے نقطہ آغاز، یا ایک ریفرنس کے طور پر دیکھنا چاہیے نہ کہ ایک سپورٹڈ پروڈکٹ کے طور پر۔ یہ کیا پیمائش کرتا ہے میٹرکس کو وقت کے ساتھ دنوں کے پیمانے پر اسٹور کیا جاتا ہے۔ Pageviews گمنام یا شناخت شدہ وزیٹرز کی گنتی کرتے ہیں، لہذا تین وزیٹرز تین پیج ویوز پیدا کرتے ہیں؛ ہر پیج ویو ریفرر اور موجودہ URL کو ریکارڈ کرتا ہے۔ Users منفرد وزیٹرز کی تعداد ہے، جو کوکیز کے بغیر حاصل کی جاتی ہے: وزیٹر کے IP ایڈریس اور user-agent سے ایک شناختی علامت بنائی جاتی ہے، جسے ہیش کر کے ڈیٹا بیس میں اسٹور کیا جاتا ہے۔ 30 منٹ کی غیر فعالیت کے بعد ایک نیا سیشن شروع ہوتا ہے، لہذا اس ونڈو کے اندر بار بار آنے والی وزٹ کو ایک سیشن شمار کیا جاتا ہے۔ سائٹ پر گزارا گیا اوسط وقت صرف تب ریکارڈ کیا جاتا ہے جب یہ فی سیشن 5 سیکنڈ اور 30 منٹ کے درمیان ہو۔ User-agent کی پارسنگ woothee لائبریری کے ذریعے کی جاتی ہے، جو براؤزر کا نام، آپریٹنگ سسٹم اور متعلقہ تفصیلات فراہم کرتی ہے۔ Geolocation کا ذکر ایک مطلوبہ فیچر کے طور پر کیا گیا ہے لیکن یہ ابھی تک نافذ نہیں ہوا۔ آرکیٹیکچر اور اسٹیک بیک اینڈ Rust میں actix-web فریم ورک اور PostgreSQL ORM کے طور پر diesel کے ساتھ لکھا گیا ہے۔ فرنٹ اینڈ زیادہ تر اسٹیٹک ہے، جسے React اور Next.js میں بنایا گیا ہے، اور انٹرفیس chakra-ui استعمال کرتا ہے، جس میں ایک کسٹم چارٹ شامل ہے۔ اس کے لیے PostgreSQL ڈیٹا بیس ضروری ہے۔ اسے چلانا README میں کئی طریقے بتائے گئے ہیں۔ Unix اور OS/X پر، postgres فیچر کے ساتھ diesel CLI انسٹال کریں، چلتے ہوئے PostgreSQL انسٹنٹ کے خلاف diesel setup چلائیں، پھر website فولڈر کے اندر npm install کے ذریعے فرنٹ اینڈ ڈیپینڈنسیز انسٹال کریں۔ Docker کا راستہ بھی بیان کیا گیا ہے: docker-compose up، جس میں environment variables کو docker-compose.yml میں تبدیل کیا جا سکتا ہے۔ ڈویلپمنٹ ہدایات میں .env.sample سے .env فائل بنانا، ایڈیٹنگ کے دوران API کو رিলোڈ کرنے کے لیے اختیاری طور پر cargo-watch استعمال کرنا، ورنہ cargo run چلانا، اور npm run dev کے ساتھ فرنٹ اینڈ شروع کرنا شامل ہے۔ آسان ترین تعیناتی کے لیے Heroku ڈیپلائے بٹن فراہم کیا گیا ہے۔ README میں چلنے والی ایپلی کیشن کے لیے لوکل پورٹ 3333 بتائی گئی ہے۔ ٹربیوٹ اور سیاق و سباق README سوالات اور pull requests کی حوصلہ افزائی کرتا ہے، خاص طور پر مبتدیوں اور جونیئرز کو خوش آمدید کہتا ہے، اور تفصیلات کے لیے CONTRIBUTING.md کی طرف اشارہ کرتا ہے۔ یہ Fathom کو ایک ایسے کوڈ بیس کے طور پر کریڈٹ دیتا ہے جسے مصنف نے پڑھا، اور نوٹ کرتا ہے کہ کوکی فری صارف شناخت کا طریقہ Ackee سے متاثر تھا، جو کہ ایک JavaScript پروجیکٹ ہے۔ صرف کوڈ کی زبان یہاں درجہ بندی کی وجہ نہیں ہے: صارفین کے لیے اس کی اہمیت اپنے زیر انتظام انفراسٹرکچر پر تعینات کردہ ویب سائٹ کے لیے ٹریفک اینالیٹکس حاصل کرنا ہے۔