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

Convex হলো ওয়েব অ্যাপ্লিকেশন ডেভেলপারদের লক্ষ্য করে তৈরি একটি ওপেন-সোর্স রিঅ্যাক্টিভ ডেটাবেস। এটি একটি ডেটাবেস, সার্ভার ফাংশন লেখার জায়গা এবং ক্লায়েন্ট লাইব্রেরিকে একত্রিত করে, যাতে ডেভেলপাররা বিশুদ্ধ TypeScript লিখে শক্তিশালী সামঞ্জস্যসহ ডেটা আনতে এবং ব্যবসায়িক লজিক বাস্তবায়ন করতে পারেন। প্রকল্পটি গতিশীল, লাইভ-আপডেটিং অ্যাপ্লিকেশন তৈরি ও স্কেল করা সহজ করার জন্য ডিজাইন করা হয়েছে। ব্যাকএন্ডটি Convex টিম দ্বারা বিকশিত, এবং পাবলিক রিপোজিটরি কয়েক দিনের মধ্যে অভ্যন্তরীণ কাজের সাথে সিঙ্ক করা হয়। README-তে উল্লেখ করা হয়েছে যে সফটওয়্যারটি অভ্যন্তরীণভাবে ভালোভাবে পরীক্ষা করা হয়েছে, যার মধ্যে র্যান্ডমাইজড টেস্টিং ফ্রেমওয়ার্ক রয়েছে, যদিও সেই পরীক্ষাগুলো ওপেন-সোর্স অফারের অংশ নয়। ছোট বাগ ফিক্স স্বাগত জানানো হয়, এবং Discord-এর মাধ্যমে মতামত উৎসাহিত করা হয়। শুরু করা সবচেয়ে সহজ হলো হোস্টেড ক্লাউড প্ল্যাটফর্মের মাধ্যমে, যা ছোট অ্যাপ্লিকেশন এবং সাইড প্রজেক্টের জন্য উপযুক্ত একটি ফ্রি টিয়ার দেয়। যারা নিজেরাই চালাতে পছন্দ করেন, তাদের জন্য সেলফ-হোস্টেড পণ্যটিতে ড্যাশবোর্ড এবং CLI-এর মতো বেশিরভাগ ক্লাউড ফিচার রয়েছে এবং এটি Neon, Fly.io, Vercel, Netlify, RDS, SQLite এবং Postgres-এর মতো টুলের সাথে কাজ করে। সেলফ-হোস্টিং Docker (প্রস্তাবিত) বা একটি প্রিবিল্ট বাইনারি দিয়ে করা যায়, বিস্তারিত নির্দেশনা সেলফ-হোস্টিং গাইডে এবং কমিউনিটি সহায়তা #self-hosted Discord চ্যানেলে রয়েছে। রিপোজিটরি লেআউটে crates/-এর অধীনে Rust কোড রয়েছে, যেখানে Runtime-এর উপরে প্রধান বাইনারি এবং একটি local_backend অ্যাপ্লিকেশন সার্ভার রয়েছে, পাশাপাশি npm-packages/ রয়েছে যাতে পাবলিক এবং অভ্যন্তরীণ TypeScript প্যাকেজ যেমন udf-runtime (ইউজার-ডিফাইনড ফাংশন JS পরিবেশের জন্য) এবং system-udfs (CLI দ্বারা ব্যবহৃত সিস্টেম ফাংশনের জন্য) রয়েছে। README-তে দাবিত্যাগ রয়েছে: সেলফ-হোস্টারদের গাইড অনুসরণ করা উচিত এবং ডিফল্ট ইনস্ট্যান্স সিক্রেট ও অ্যাডমিন কী পরিবর্তন করা উচিত; Convex সবচেয়ে ভালোভাবে Linux এবং Mac-এ পরীক্ষা করা হয়েছে, Windows-এ কম অভিজ্ঞতা রয়েছে; এবং সেলফ-হোস্টেড বিল্ডে একটি বেনামী বিকন রয়েছে যা --disable-beacon ফ্ল্যাগ দিয়ে নিষ্ক্রিয় করা যায়। বিকন শুধুমাত্র একটি র্যান্ডম ডিপ্লয়মেন্ট আইডেন্টিফায়ার, ডেটাবেস মাইগ্রেশন সংস্করণ, ব্যাকএন্ড git রিভিশন এবং আপটাইম রিপোর্ট করে।