প্রকল্প সম্পর্কে

Electric হলো Postgres-এর জন্য একটি ওপেন-সোর্স সিঙ্ক ইঞ্জিন, যা Postgres-এর জন্য রিয়েল-টাইম সিঙ্ক হিসেবে বর্ণিত এবং দ্রুত, আধুনিক সফটওয়্যার ও লাইভ লোকাল ডেটায় চলমান AI এজেন্টদের জন্য একটি ভিত্তি হিসেবে অবস্থান করছে। এটি রিড-পাথের উপর ফোকাস করে: ডেটাবেসে ফিরে লেখার পরিবর্তে Postgres থেকে ডেটা বের করে নির্বিচারে কনজিউমারদের কাছে সিঙ্ক করা। প্রকল্পটি আংশিক রিপ্লিকেশন, ফ্যান-আউট এবং ডেটা ডেলিভারির মতো সাধারণ সিঙ্ক সমস্যাগুলি সমাধান করে, যাতে ডেভেলপারদের নিজস্ব সিঙ্ক লেয়ার তৈরি করতে না হয়। মূল সিঙ্ক প্রোটোকলটি একটি নিম্ন-স্তরের HTTP API হিসেবে উন্মুক্ত, যা ডকুমেন্টেশন নোট করে যে স্কেলযোগ্য ডেটা ডেলিভারির জন্য CDN-এর সাথে সংহত করা যেতে পারে। আংশিক রিপ্লিকেশন Shapes ব্যবহার করে কনফিগার করা হয়, যা সংজ্ঞায়িত করে কোন ডেটার সাবসেট সিঙ্ক করা হয়। কনজিউমাররা HTTP API সরাসরি ব্যবহার করতে পারে বা ক্লায়েন্ট লাইব্রেরি এবং ফ্রেমওয়ার্ক ইন্টিগ্রেশনের মাধ্যমে কাজ করতে পারে, যার মধ্যে একটি TypeScript ক্লায়েন্ট এবং useShape নামে একটি React হুক অন্তর্ভুক্ত। একটি Elixir ক্লায়েন্ট প্যাকেজও রিপোজিটরিতে উপস্থিত রয়েছে। শুরু করতে একটি Postgres ডেটাবেস প্রয়োজন যেখানে লজিক্যাল রিপ্লিকেশন সক্ষম, তারপর DATABASE_URL-এর মাধ্যমে সংযুক্ত হয়ে Electric-কে এর সামনে চালানো হয়। README রিপোজিটরি রুট থেকে স্ট্যাক চালু করার জন্য একটি Docker Compose কমান্ড দেখায়, তারপর একটি টেবিল সিঙ্ক শুরু করতে /v1/shape এন্ডপয়েন্টে একটি curl অনুরোধ এবং টেবিল ও where প্যারামিটার সহ useShape ব্যবহার করে একটি সংক্ষিপ্ত React উদাহরণ দেখায়। HTTP API রিপোজিটরিতে সংরক্ষিত একটি OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত। Electric-এ VM মেট্রিক্স, প্রসেস তথ্য এবং ETS টেবিলের রিয়েল-টাইম মনিটরিংয়ের জন্য একটি ঐচ্ছিক Phoenix LiveDashboardও অন্তর্ভুক্ত রয়েছে, যা ড্যাশবোর্ড পোর্টের জন্য একটি পরিবেশ পরিবর্তনশীল সেট করে সক্রিয় করা হয়। README স্পষ্টভাবে সতর্ক করে যে এই ড্যাশবোর্ড এন্ডপয়েন্টটি প্রমাণীকরণহীন এবং প্রোডাকশনে অবশ্যই সীমাবদ্ধ রাখতে হবে। ডেভেলপমেন্টে Elixir, Erlang এবং Node.js সংস্করণ পরিচালনার জন্য asdf ব্যবহার করা হয়, macOS-এর জন্য সেটআপ নির্দেশাবলী সহ। রিপোজিটরিতে Elixir এবং TypeScript উভয় উপাদানের জন্য টেস্ট স্যুট রয়েছে, যার পূর্বশর্তগুলির মধ্যে লজিক্যাল রিপ্লিকেশনের জন্য কনফিগার করা একটি Docker Compose Postgres অন্তর্ভুক্ত। Elixir সিঙ্ক সার্ভিস এবং ক্লায়েন্ট টেস্ট, TypeScript প্যাকেজ টেস্ট এবং কভারেজ রিপোর্ট চালানোর জন্য কমান্ডগুলি নথিভুক্ত। প্রকল্পটি Apache 2.0 লাইসেন্সের অধীনে এবং সহায়তার জন্য একটি কমিউনিটি Discord অফার করে।