প্রকল্প সম্পর্কে
Gopad-এর লেখকদের মতে এটি মার্কডাউন-ভিত্তিক ডকুমেন্ট লেখা এবং আপডেট করার জন্য একটি সহজ ওয়েব ইন্টারফেস, যা Etherpad-এর সাথে তুলনীয় তবে মার্কডাউন লেখা এবং ফরম্যাটিংয়ের ওপর গুরুত্ব দেয়। এই রিপোজিটরি, 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 চালানো এবং সবশেষে resulting binary লঞ্চ করা। সমস্ত স্ট্যাটিক অ্যাসেট বাইনারির ভেতরে এমবেড করা থাকে, তাই এক্সিকিউটেবল শুরু করার বাইরে অতিরিক্ত কোনো ওয়েবসার্ভারের প্রয়োজন হয় না।
ডেভেলপমেন্ট ওয়ার্কফ্লো। DevContainer কনফিগারেশন প্রদান করা হয়েছে, যাতে কন্ট্রিবিউটররা তাদের নিজস্ব সিস্টেমে mise ইনস্টল না করেই শুরু করতে পারেন। সক্রিয় ডেভেলপমেন্টে দুটি আলাদা টার্মিনাল ট্যাব বা উইন্ডোতে দুটি watch টাস্ক চালানো হয়: task watch:server এবং task watch:frontend। ব্যাকএন্ড ডেভেলপমেন্ট সার্ভারটি localhost:8080-এ এবং ফ্রন্টএন্ডটি localhost:5173-এ চলে বলে ডকুমেন্ট করা হয়েছে, যেখানে হট রিলোডিং সুবিধা রয়েছে যাতে কোড পরিবর্তনের সাথে সাথে সার্ভিসগুলো স্বয়ংক্রিয়ভাবে রিস্টার্ট বা রিলোড হয়।
কন্ট্রিবিউটিং এবং রিলিজ। প্রজেক্টটি conventional commits অনুসরণ করে যাতে প্রতি রিলিজের জন্য চেঞ্জলগ তৈরি করা যায় এবং অনুরোধ করা হয়েছে যে নতুন ফাংশনালিটি বা ফিক্সগুলো পুল রিকোয়েস্টের মাধ্যমে ইন্টিগ্রেট করা হোক। রিলিজ নাম্বারিং semantic versioning অনুসরণ করে যাতে বোঝা যায় যে কোনো ভার্সন বাগ ফিক্স করেছে, নতুন ফিচার যোগ করেছে নাকি ব্রেকিং চেঞ্জেস এনেছে। mise-এর মাধ্যমে টুলস ইনস্টল করার পর, কন্ট্রিবিউটররা pre-commit এবং commit-msg হুক টাইপের জন্য prek (mise দ্বারা ম্যানেজড) দিয়ে প্রি-কমিট হুক সেট আপ করেন। একবার পুল রিকোয়েস্ট মার্জ হলে এবং বিল্ড সফল হলে, সপ্তাহে অন্তত একবার স্বয়ংক্রিয়ভাবে একটি নতুন রিলিজ তৈরি করা হয়।
সিকিউরিটি রিপোর্ট প্রথমে gopad@webhippie.de-তে পাঠানো উচিত। প্রজেক্টটি Apache-2.0 লাইসেন্সের অধীনে, যার কপিরাইট ২০১৮ থেকে Thomas Boerger-এর নামে attributed।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.