যেহেতু আমি গত গ্রীষ্ম থেকে [Neotoma](https://neotoma.io) (পূর্বে Asheville) এ কমবেশি পূর্ণ-সময় কাজ করছি, তাই আমি প্রথমবারের মতো ওপেন সোর্স সফ্টওয়্যারে সত্যিই আমার দাঁত কাটানোর সুযোগ পেয়েছি।

আমি বলতে পেরে খুশি যে নিওটোমার জন্য নির্দিষ্ট সর্বজনীনভাবে উপলব্ধ সংগ্রহস্থলগুলিতে কাজ করার পাশাপাশি, আমি কয়েকটি সংগ্রহস্থল তৈরি করেছি যেগুলি সাধারণভাবে অন্যান্য Node.js অ্যাপের মডিউল হিসাবে দরকারী:

- [পার্ক রেঞ্জার](https://github.com/markmhx/park-ranger): পরিবেশের ভেরিয়েবল, কনফিগারেশন ফাইল এবং SSL সার্টিফিকেট ফাইলের মতো পরিবেশ-নির্দিষ্ট নির্ভরতার জন্য একজন ম্যানেজার।

  এটিকে "পার্ক রেঞ্জার" বলা হয় কারণ একটি কম্পিউটার প্রোগ্রাম সর্বদা একটি নির্দিষ্ট পরিবেশে চলে, প্রায়শই তার ডিভাইস বা অন্যান্য সম্ভাব্য পরিবেশের পাশাপাশি সেই ডিভাইসের মধ্যে নির্বাচিত একটি নির্দিষ্ট পরিবেশ দ্বারা নির্ধারিত হয়। এবং আপনি যখন প্রাকৃতিক পরিবেশ উপভোগ করছেন এবং এটি সম্পর্কে প্রশ্ন আছে তখন আপনি কাকে খোঁজেন…? এটা ঠিক, পার্ক রেঞ্জার।

  আমি মূলত আমার স্থানীয় ডেভেলপমেন্ট মেশিন এবং ডিপ্লোয়মেন্ট হোস্টের মধ্যে পরিবেশ-ভিত্তিক পার্থক্যগুলি পরিচালনা করতে আমার সংগ্রহস্থল জুড়ে একই ইউটিলিটি কোড পুনরায় লিখতে থাকি। সুতরাং, আমি কোডের উন্নতি এবং রক্ষণাবেক্ষণের গতি বাড়ানোর জন্য এই মডিউলে সমস্ত কিছু রিফ্যাক্টর করেছি। আমার সূচনা পয়েন্ট ছিল [dotenv](https://github.com/motdotla/dotenv) কিন্তু আমি দ্রুত বুঝতে পেরেছিলাম যে এটি আমার প্রয়োজনের জন্য খুবই সহজ।

- [Hoist](https://github.com/markmhx/grunt-hoist): হোস্টে Node.js অ্যাপ স্থাপন করতে এবং সম্পর্কিত দূরবর্তী পদ্ধতিগুলি চালানোর জন্য Grunt টাস্কগুলির একটি স্যুট।

  পার্ক রেঞ্জারের সাথে আমার অভিজ্ঞতার অনুরূপ, আমি নিজেকে রিপোজিটরি জুড়ে একই স্থাপনার রুটিনগুলির সামান্য পরিবর্তনগুলি পুনরায় লিখতে দেখেছি (যেমন ফাইলগুলি rsync'ing, "npm install" চালানো এবং রিমোট সার্ভার পুনরায় চালু করা)। তাই আমি এই কাজগুলির একটি সেট তৈরি করেছি (যা স্বয়ংক্রিয়ভাবে এনপিএম স্ক্রিপ্ট হিসাবে অভিভাবক প্রকল্পগুলিতে উপলব্ধ করে) আমি যেভাবে এটির সাথে যোগাযোগ করি তা মানক করার জন্য। তারা ক্রমাগত বিকাশের জন্য আমার দৃষ্টিভঙ্গিকে ব্যাপকভাবে সরল করে, এমনকি যখন আমি নতুন মাইক্রো-পরিষেবাগুলিকে স্পিন করি বা পথ ধরে স্থানীয় নির্ভরতাগুলিতে দ্রুত পরিবর্তন করি।

- [প্রক্সি](https://github.com/neotoma/proxy): HTTP এবং HTTPS অনুরোধের জন্য একটি প্রক্সি সার্ভার।

  যেহেতু আমি বন্ধ পরীক্ষার জন্য নিওটোমার প্রাথমিক সংস্করণগুলি হোস্ট করা শুরু করেছি, প্রোটোকল (HTTP বনাম HTTPS), পোর্ট এবং সাবডোমেন জুড়ে একই হোস্টে চলমান বিভিন্ন সার্ভারকে সমর্থন করার জন্য আমার একটি সহজ উপায় প্রয়োজন। উদাহরণস্বরূপ, একই হোস্ট যেটি নিওটোমার জন্য ল্যান্ডিং পৃষ্ঠা পরিবেশন করতে HTTP ব্যবহার করে তার অন্তর্নিহিত API এবং HTTP এবং HTTPS উভয়ই পরীক্ষার জন্য একটি সাবডোমেনে চলমান প্রকৃত নিওটোমা ওয়েব অ্যাপে HTTPS অনুরোধগুলি পরিবেশন করে।

  যদিও এই সংগ্রহস্থলটি নিওটোমা সংস্থার অধীনে থাকে, এটি যে কেউ ব্যবহার করতে পারে যারা একাধিক সার্ভার চালায় তাদের হোস্টের জন্য একই কাজ করতে চায়।

নিওটোমার সাথে আরও সরাসরি সম্পর্কিত আরও অনেকগুলি অন্যান্য পাবলিক রিপোজিটরি রয়েছে যা আমি এখানে তালিকাভুক্ত করব না তবে [নিওটোমা গিটহাব সংস্থা](https://github.com/neotoma) এ পাওয়া যাবে। যদিও আমি এখনও সক্রিয়ভাবে অবদানের জন্য চেষ্টা করিনি, উপরে তালিকাভুক্ত সমস্ত সংগ্রহস্থল এবং সেই সংস্থায় আপনি যদি কোনও পরিবর্তন করতে চান তবে অনুরোধগুলি টানার জন্য উন্মুক্ত!