منصوبے کے بارے میں
Gopad کو اس کے مصنفین نے markdown پر مبنی دستاویزات لکھنے اور اپ ڈیٹ کرنے کے لیے ایک سادہ ویب انٹرفیس کے طور پر بیان کیا ہے، جو Etherpad کے قابلِ موازنہ ہے لیکن markdown تحریر اور فارمیٹنگ پر مرکوز ہے۔ یہ ریپوزٹری، gopad-api، پروجیکٹ کے سرور سائیڈ کو رکھتی ہے، جسے Go میں نافذ کیا گیا ہے، جبکہ یوزر انٹرفیس VueJS کے ساتھ بنایا گیا ہے۔ مینٹینرز واضح طور پر بتاتے ہیں کہ پروجیکٹ فعال طور پر ترقی کے مراحل میں ہے، ابھی تک کوئی مستحکم ریلیز نہیں ہوئی ہے، اور پہلی حقیقی ریلیز سے پہلے بڑی تبدیلیوں کی توقع کی جانی چاہیے۔
انسٹالیشن اور پیکیجنگ۔ پہلے سے بنے ہوئے بائنریز GitHub ریلیزز اور ایک مخصوص ڈاؤن لوڈ سائٹ کے ذریعے پیش کیے جاتے ہیں۔ پروجیکٹ Cloudsmith کے ذریعے ہوسٹ کیے گئے DEB اور RPM پیکیج ریپوزٹریز، GHCR، Docker Hub اور Quay پر شائع شدہ کنٹینر امیجز، macOS صارفین کے لیے Homebrew فارمولا، اور gopad.eu پر دستاویزات بھی تیار کرتا ہے۔ پیکیج ریپوزٹریز کے ہوسٹنگ فراہم کنندہ کے طور پر Cloudsmith کو کریڈٹ دیا گیا ہے۔
بلڈ پروسیس۔ ٹولز کے ورژنز کو mise کے ذریعے مینیج کیا جاتا ہے؛ ریپوزٹری کے اندر آپ اسے فعال کرنے اور mise.toml میں تعریف شدہ ہر چیز کو انسٹال کرنے کے لیے mise trust اور mise install چلاتے ہیں۔ بلڈ کے مراحل خود ایک go-task taskfile کا حصہ ہیں، لہذا دستاویزی ترتیب یہ ہے کہ ریپوزٹری کو کلون کریں، پھر task fe:install fe:build be:build چلائیں، اور آخر میں نتیجے کے طور پر ملنے والی بائنری کو لانچ کریں۔ تمام سٹیٹک اثاثے بائنری میں ایمبیڈڈ ہیں، اس لیے ایگزیکیوٹیبل شروع کرنے کے علاوہ کسی اضافی ویب سرور کی ضرورت نہیں ہے۔
ڈویلپمنٹ ورک فلو۔ DevContainer کنفیگریشنز فراہم کی گئی ہیں، تاکہ وہ معاونین جو انہیں استعمال کرتے ہیں وہ اپنے سسٹم پر mise انسٹال کیے بغیر شروع کر سکیں۔ فعال ڈویلپمنٹ میں دو واچ ٹاسک استعمال ہوتے ہیں جو الگ الگ ٹرمینل ٹیبز یا ونڈوز میں چلتے ہیں: task watch:server اور task watch:frontend۔ بیک اینڈ ڈویلپمنٹ سرور localhost:8080 پر اور فرنٹ اینڈ localhost:5173 پر چلتا ہے، جس میں ہاٹ رিলোڈنگ کی سہولت ہے تاکہ کوڈ میں تبدیلیوں پر سروسز خود بخود ری اسٹارٹ یا رিলোڈ ہو جائیں۔
ٹربیوٹ اور ریلیزز۔ پروجیکٹ conventional commits کی پیروی کرتا ہے تاکہ ہر ریلیز کے لیے چینج لاگز تیار کیے جا سکیں، اور درخواست کی جاتی ہے کہ نئی فنکشنلٹی یا اصلاحات کو pull requests کے ذریعے مربوط کیا جائے۔ ریلیز نمبرنگ semantic versioning کی پیروی کرتی ہے تاکہ یہ اشارہ مل سکے کہ آیا کوئی ورژن بگز کو ٹھیک کرتا ہے، فیچرز کا اضافہ کرتا ہے یا بڑی تبدیلیاں لاتا ہے۔ mise کے ذریعے ٹولز انسٹال کرنے کے بعد، معاونین pre-commit اور commit-msg ہک ٹائپس کے لیے prek (جو mise کے ذریعے مینیج ہوتا ہے) کے ساتھ pre-commit ہکس سیٹ اپ کرتے ہیں۔ ایک بار جب pull request مرج ہو جاتی ہے اور بلڈز کامیاب ہو جاتے ہیں، تو کم از کم ہفتے میں ایک بار خود بخود نئی ریلیز بنائی جاتی ہے۔
سیکیورٹی رپورٹس سب سے پہلے gopad@webhippie.de پر بھیجی جانی چاہئیں۔ پروجیکٹ Apache-2.0 کے تحت لائسنس یافتہ ہے، جس کے کاپی رائٹ 2018 سے Thomas Boerger کے نام ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.