প্রকল্প সম্পর্কে
ΛNΛLOG হল একটি সামান্য বিশ্লেষণ টুল যা সেলফ-হোস্ট করা যেতে পারে। এটি পাইরেটপিক্সের উপর ভিত্তি করে তৈরি এবং বড় বিশ্লেষণ সুইটের পরিবর্তে একটি ছোট, বুঝতে সহজ ফিচার সেটের উপর ধরে রয়েছে।
প্রকল্পটি ফন্টএন্ড ড্যাশবোর্ড এবং একটি Node.js সার্ভার দিয়ে গঠিত। ইভেন্টগুলি একটি সহজ API দিয়ে রেকর্ড করা হয় এবং ওয়েব ড্যাশবোর্ডে প্রদর্শিত হয়। README-এ ড্যাশবোর্ডের স্ক্রিনশট এবং একটি সংক্ষিপ্ত ডেমো ভিডিও দেখানো হয়েছে।
স্টোরেজ প্লাগ-অ্যাবল। ANALOG_DATABASE_PROVIDER ভেরিয়েবলটি চারটি ব্যাকএন্ডের মধ্যে একটি নির্বাচন করে: MongoDB, PostgreSQL, Redis বা SQLite। README-এ মন্তব্য করা হয়েছে যে MongoDB, Supabase, Render, CockroachDB, Upstash এবং Turso এমন হোস্টেড প্রভাইডারগুলি ব্যবহার করা যেতে পারে, এবং PostgreSQL-এর জন্য ট্রানজ্যাকশন পুলার কানেকশন ব্যবহার করা উচিত। SQLite কানেকশনগুলি libsql ব্যবহার করে এবং ফাইল: URL দিয়ে স্থানীয় ফাইলে পয়েন্ট করতে পারে।
কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবলগুলির মাধ্যমে করা হয়। উল্লেখযোগ্য অপশনগুলি হল ডাটাবেস প্রভাইডার এবং কানেকশন URL, সার্ভার পোর্ট, ANALOG_TOKEN রিকুয়েস্টগুলি সুরক্ষিত করার জন্য, ANALOG_PROTECT_POST যাতে POST রিকুয়েস্টে টোকেন প্রয়োজন, ANALOG_STATIC_SERVER যাতে Node.js সার্ভার বিল্ট ফন্টএন্ডও সার্ভ করে, এবং ANALOG_DATABASE_REQUEST_ITEM_COUNT যাতে ডাটাবেস কলে কতগুলি আইটেম আপনার API রিকুয়েস্ট করে। ফন্টএন্ড ভেরিয়েবলগুলি VITE_ প্রিফিক্স ব্যবহার করে কারণ অ্যাপটি Vite দিয়ে তৈরি করা হয়েছে; এগুলি পেজ শিরোনাম, প্রদর্শিত সময় ব্যবধান (সর্বনিম্ন 10, সর্বোচ্চ 30), ডেটা ক্লিনআপ চালানো হয় কিনা এবং API রিকুয়েস্টগুলি একসাথে না নেয়া হয় কিনা নিয়ন্ত্রণ করে।
README-এ বর্ণিত ডেপ্লয়মেন্ট অপশনগুলি হল npm install এবং npm run dev দিয়ে স্থানীয় ডেভেলপমেন্ট, বিল্ড আর্গুমেন্ট এবং রানটাইম এনভায়রনমেন্ট ভেরিয়েবল সহ একটি Dockerfile, এবং Koyeb, Netlify, Render এবং Vercel এর জন্য তাদের প্রতিটি কনফিগারেশন ফাইল (netlify.toml, render.yaml, vercel.json)। Netlify এবং Vercel ক্রোন কনফিগারেশনের মাধ্যমে দৈনিক ক্লিনআপ ফাংশন সময়সূচী করতে পারে, তবে README-এ সময়সূচী করা হতে পারে না বলে সতর্ক করা হয়েছে কারণ রানটাইম সীমাবদ্ধতা থাকতে পারে।
API /api/events-এ কেন্দ্রীভূত। একটি POST রিকুয়েস্ট বডির মধ্যে ইভেন্ট নাম পাঠায় এবং OK ফিরে আসে; যদি ANALOG_PROTECT_POST এবং ANALOG_TOKEN সেট করা থাকে তবে রিকুয়েস্টে একটি Authorization হেডার থাকা আবশ্যিক যাতে টোকেন "Basic " দিয়ে প্রিফিক্স করা থাকে। একটি GET রিকুয়েস্ট ইভেন্ট ডেটা সংখ্যার অ্যারে হিসাবে ফিরে আসে যা ইভেন্ট নামের সাথে কী হিসাবে থাকে। এটি পেজড ডাটাবেস কুয়েরিগুলির জন্য একটি অপশনাল কার্সর প্যারামিটার গ্রহণ করে (এটি না থাকলে সব ডেটা একসাথে আনা হয়) এবং ফেচ করার সময় ক্লিনআপ ট্রিগার করার জন্য একটি অপশনাল ক্লিনআপ প্যারামিটার গ্রহণ করে। একটি কার্সর ব্যবহার করা হলে, প্রতিক্রিয়াতে ডেটা এবং একটি nextCursor মান থাকে। যদি ANALOG_TOKEN সেট করা থাকে তবে ড্যাশবোর্ড URL-এ একটি টোকেন কুয়েরি প্যারামিটার প্রয়োজন, উদাহরণস্বরূপ hostname/?token=ANALOG_TOKEN।
সার্বিকভাবে, ΛNΛLOG হল মৌলিক ইভেন্ট ট্র্যাকিংয়ের জন্য একটি হালকা ও সেলফ-হোস্ট করা বিকল্প, যার স্টোরেজ ব্যাকএন্ডগুলি স্বাভাবিক এবং ডেপ্লয়মেন্ট পাথগুলি সহজ।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.