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

Electric ایک اوپن سورس سنک انجن ہے جو Postgres کے لیے ہے، جسے Postgres کے لیے ریئل ٹائم سنک کے طور پر بیان کیا گیا ہے اور اسے تیز، جدید سافٹ ویئر اور AI ایجنٹس کے لیے بنیاد کے طور پر پیش کیا گیا ہے جو لائیو لوکل ڈیٹا پر چلتے ہیں۔ یہ ریڈ پاتھ پر توجہ مرکوز کرتا ہے: ڈیٹا کو Postgres سے باہر صوابدیدی صارفین تک سنک کرنا، بجائے ڈیٹابیس میں واپس لکھنے کے۔ یہ پروجیکٹ عام سنک مسائل جیسے جزوی ریپلیکیشن، فین آؤٹ اور ڈیٹا ڈیلیوری کو حل کرتا ہے، تاکہ ڈویلپرز کو اپنی سنک پرت بنانے کی ضرورت نہ پڑے۔ بنیادی سنک پروٹوکول کو کم سطح کے HTTP API کے طور پر پیش کیا گیا ہے، جسے دستاویزات نوٹ کرتی ہیں کہ اسکیل ایبل ڈیٹا ڈیلیوری کے لیے CDNs کے ساتھ مربوط کیا جا سکتا ہے۔ جزوی ریپلیکیشن Shapes کا استعمال کرتے ہوئے ترتیب دی جاتی ہے، جو اس بات کی وضاحت کرتی ہیں کہ ڈیٹا کا کون سا ذیلی سیٹ سنک کیا جاتا ہے۔ صارفین HTTP API کو براہ راست استعمال کر سکتے ہیں یا کلائنٹ لائبریریوں اور فریم ورک انٹیگریشنز کے ذریعے کام کر سکتے ہیں، بشمول TypeScript کلائنٹ اور useShape نامی React ہک۔ ایک Elixir کلائنٹ پیکج بھی ریپوزٹری میں موجود ہے۔ شروع کرنے کے لیے ایک Postgres ڈیٹابیس درکار ہے جس میں لاجیکل ریپلیکیشن فعال ہو، پھر Electric کو اس کے سامنے DATABASE_URL کے ذریعے منسلک کر کے چلائیں۔ README ریپوزٹری روٹ سے Docker Compose کمانڈ دکھاتا ہے تاکہ اسٹیک کو اٹھایا جا سکے، اس کے بعد /v1/shape اینڈ پوائنٹ پر curl درخواست تاکہ ٹیبل سنک کرنا شروع کیا جا سکے، اور useShape کے ساتھ table اور where پیرامیٹرز استعمال کرتے ہوئے ایک مختصر React مثال۔ HTTP API کو ریپوزٹری میں محفوظ OpenAPI تصریح میں بیان کیا گیا ہے۔ Electric میں ایک اختیاری Phoenix LiveDashboard بھی شامل ہے جو VM میٹرکس، پروسیس معلومات اور ETS ٹیبلز کی ریئل ٹائم مانیٹرنگ کے لیے ہے، جسے ڈیش بورڈ پورٹ کے لیے ماحولیاتی متغیر ترتیب دے کر فعال کیا جاتا ہے۔ README واضح طور پر خبردار کرتا ہے کہ یہ ڈیش بورڈ اینڈ پوائنٹ غیر تصدیق شدہ ہے اور اسے پروڈکشن میں محدود کرنا ضروری ہے۔ ترقی کے لیے asdf کا استعمال کیا جاتا ہے تاکہ Elixir، Erlang اور Node.js ورژنز کا انتظام کیا جا سکے، macOS کے لیے سیٹ اپ ہدایات کے ساتھ۔ ریپوزٹری میں Elixir اور TypeScript دونوں اجزاء کے لیے ٹیسٹ سوٹ موجود ہیں، جن کی شرائط میں Docker Compose Postgres شامل ہے جو لاجیکل ریپلیکیشن کے لیے ترتیب دیا گیا ہے۔ Elixir سنک سروس اور کلائنٹ ٹیسٹ، TypeScript پیکج ٹیسٹ، اور کوریج رپورٹس چلانے کے لیے کمانڈز دستاویز کی گئی ہیں۔ یہ پروجیکٹ Apache 2.0 کے تحت لائسنس یافتہ ہے اور کمیونٹی کے لیے Discord پیش کرتا ہے۔