चूंकि मैं पिछली गर्मियों से [नियोटोमा](https://neotoma.io) (पूर्व में एशविले) पर कमोबेश पूर्णकालिक काम कर रहा हूं, मुझे पहली बार ओपन-सोर्स सॉफ़्टवेयर पर वास्तव में काम करने का अवसर मिला है।

मुझे यह कहते हुए खुशी हो रही है कि नियोटोमा के लिए सार्वजनिक रूप से उपलब्ध रिपॉजिटरी पर काम करने के अलावा, मैंने कुछ रिपॉजिटरी बनाई हैं जो सामान्य रूप से अन्य Node.js ऐप्स के लिए मॉड्यूल के रूप में उपयोगी होने की उम्मीद है:

- [पार्क रेंजर](https://github.com/markmhx/park-ranger): पर्यावरण-विशिष्ट निर्भरताओं जैसे पर्यावरण चर, कॉन्फ़िगरेशन फ़ाइलें और एसएसएल प्रमाणपत्र फ़ाइलों के लिए एक प्रबंधक।

  इसे "पार्क रेंजर" कहा जाता है क्योंकि एक कंप्यूटर प्रोग्राम हमेशा किसी दिए गए वातावरण में चलता है, जो अक्सर उसके डिवाइस या अन्य संभावित वातावरणों के साथ उस डिवाइस के भीतर चुने गए एक विशिष्ट वातावरण द्वारा निर्धारित होता है। और जब आप प्राकृतिक वातावरण का आनंद ले रहे होते हैं और इसके बारे में आपके मन में प्रश्न होते हैं तो आप किसे खोजते हैं...? यह सही है, एक पार्क रेंजर।

  मैं मूल रूप से पर्यावरण-आधारित मतभेदों को संभालने के लिए अपने रिपॉजिटरी में समान उपयोगिता कोड को फिर से लिखता रहा, मुख्य रूप से मेरी स्थानीय विकास मशीन और परिनियोजन होस्ट के बीच। इसलिए, मैंने कोड सुधार और रखरखाव को आगे बढ़ाने में तेजी लाने के लिए इसे इस मॉड्यूल में दोबारा शामिल किया। मेरा शुरुआती बिंदु [dotenv](https://github.com/motdotla/dotenv) था, लेकिन मुझे जल्द ही एहसास हुआ कि यह मेरी ज़रूरतों के लिए बहुत आसान था।

- [होइस्ट](https://github.com/markmhx/grunt-hoist): होस्ट पर Node.js ऐप्स को तैनात करने और संबंधित दूरस्थ प्रक्रियाओं को निष्पादित करने के लिए ग्रंट कार्यों का एक सूट।

  पार्क रेंजर के साथ मेरे अनुभव के समान, मैंने खुद को रिपॉजिटरी में समान परिनियोजन रूटीन के थोड़े बदलावों को फिर से लिखते हुए पाया (जैसे कि rsync'ing फ़ाइलें, "npm इंस्टॉल" चलाना और रिमोट सर्वर को पुनरारंभ करना)। इसलिए मैंने इस तक पहुंचने के तरीके को मानकीकृत करने के लिए कार्यों का यह सेट बनाया (जो स्वचालित रूप से खुद को मूल परियोजनाओं के लिए एनपीएम स्क्रिप्ट के रूप में उपलब्ध कराता है)। वे निरंतर विकास के लिए मेरे दृष्टिकोण को भी बहुत सरल बनाते हैं, भले ही मैं नई सूक्ष्म-सेवाएँ शुरू करता हूँ या रास्ते में स्थानीय निर्भरता में त्वरित परिवर्तन करता हूँ।

- [प्रॉक्सी](https://github.com/neotoma/proxy): HTTP और HTTPS अनुरोधों के लिए एक प्रॉक्सी सर्वर।

  जैसे ही मैंने बंद परीक्षण के लिए नियोटोमा के शुरुआती संस्करणों की मेजबानी शुरू की, मुझे प्रोटोकॉल (HTTP बनाम HTTPS), पोर्ट और उपडोमेन में एक ही होस्ट पर चलने वाले विभिन्न सर्वरों का समर्थन करने के लिए एक सरल तरीके की आवश्यकता थी। उदाहरण के लिए, वही होस्ट जो नियोटोमा के लिए लैंडिंग पृष्ठ की सेवा के लिए HTTP का उपयोग करता है, वह अपने अंतर्निहित एपीआई के लिए HTTPS अनुरोधों और परीक्षण के लिए एक उपडोमेन पर चल रहे वास्तविक नियोटोमा वेब ऐप के लिए HTTP और HTTPS दोनों अनुरोधों को भी प्रदान करता है।

  हालाँकि यह रिपॉजिटरी नियोटोमा संगठन के अंतर्गत रहती है, इसका उपयोग कोई भी व्यक्ति कर सकता है जो एकाधिक सर्वर चलाने वाले अपने होस्ट के लिए भी ऐसा करना चाहता है।

नियोटोमा से सीधे संबंधित विकास के तहत कई अन्य सार्वजनिक रिपॉजिटरी हैं जिन्हें मैं यहां सूचीबद्ध नहीं करूंगा लेकिन उन्हें [नियोटोमा गिटहब संगठन](https://github.com/neotoma) पर पाया जा सकता है। हालाँकि मैंने अभी तक सक्रिय रूप से योगदान नहीं माँगा है, ऊपर सूचीबद्ध सभी रिपॉजिटरी और उस संगठन में यदि आप कोई बदलाव करना चाहते हैं तो अनुरोध करने के लिए खुले हैं!