इस पेज पर, तकनीकी लेखन वाले उस प्रोजेक्ट की जानकारी दी गई है जिसे Google Season of Docs के लिए स्वीकार किया गया है.
प्रोजेक्ट की खास जानकारी
- ओपन सोर्स संगठन:
- moja global
- टेक्निकल राइटर:
- Tlazypanda
- प्रोजेक्ट का नाम:
- FLINT के लिए, ऑनबोर्डिंग की तकनीकी गाइड का दस्तावेज़
- प्रोजेक्ट की अवधि:
- स्टैंडर्ड अवधि (तीन महीने)
प्रोजेक्ट का विवरण
FLINT के लिए, टेक्निकल ऑनबोर्डिंग गाइड का दस्तावेज़. इसमें, नए योगदानकर्ताओं को टेक्निकल ऑनबोर्डिंग के बारे में जानकारी दी गई है, ताकि वे आसानी से योगदान दे सकें. इसके लिए, उन्हें रखरखाव करने वालों की ज़्यादा मदद की ज़रूरत नहीं पड़ेगी.
प्रोजेक्ट से जुड़ी समस्याएं
मौजूदा दस्तावेज़ से जुड़ी सबसे अहम समस्याओं की सूची यहां दी गई है: - लोकल सेटअप गाइड के निर्देशों को व्यवस्थित तरीके से नहीं बताया गया है. इस वजह से, नए योगदान देने वाले के लिए शुरुआत करना मुश्किल हो जाता है. - FLINT की कई रिपॉज़िटरी में, उनके मकसद के बारे में दस्तावेज़ नहीं होते. साथ ही, ये एक-दूसरे से लिंक नहीं होती हैं. इस वजह से, नए लोगों के लिए यह पता लगाना मुश्किल हो जाता है कि कौनसी रिपॉज़िटरी इंस्टॉल करनी है. - Windows इंस्टॉलेशन के बारे में अच्छी तरह से बताया गया है, लेकिन Linux पर आधारित इंस्टॉलेशन के दस्तावेज़ में सुधार की गुंजाइश है. - फ़िलहाल, दस्तावेज़ में Git वर्कफ़्लो शामिल नहीं है
प्रस्तावित समाधान
इस प्रस्ताव में, योगदान देने वाले नए लोगों को तकनीकी तौर पर ऑनबोर्डिंग की प्रक्रिया के बारे में मदद दी जा सकती है. इससे, योगदान देने वाले नए लोगों को रखरखाव करने वाले लोगों से कम से कम सहायता मिल पाती है. इसके लिए, मौजूदा दस्तावेज़ की फिर से समीक्षा करें, ताकि इसे नए उपयोगकर्ता के लिए आसान बनाया जा सके. साथ ही, सभी उपलब्ध दस्तावेज़ों के लिए एक सेंट्रल स्टैंडअलोन रिपॉज़िटरी (डेटा स्टोर करने की जगह) भी बनाए रखा जा सकता है. इस प्रोजेक्ट को तीन चरणों में बांटा गया है:- - मौजूदा दस्तावेज़ की समीक्षा करना और उसे फिर से बनाना: इस चरण का मकसद, मौजूदा गाइड की समीक्षा करना और उसे इस तरह से फिर से बनाना है कि वह कम शब्दों में हो और नए योगदान देने वाले लोग उसे आसानी से समझ सकें. दस्तावेज़ में बदलाव भी करना होगा, ताकि इसे शुरुआती लोगों के लिए ज़्यादा आसान बनाया जा सके. इसके लिए, बैज, इमोजी, और सिर्फ़ शुरुआती लोगों के लिए या पहली बार की गई समस्या वाले टैग के साथ लेबल की गई समस्याओं की जानकारी जोड़ें. - एक सेंट्रल स्टैंडअलोन दस्तावेज़ रिपॉज़िटरी बनाना: इस चरण का लक्ष्य, एक स्टैंडअलोन रिपॉज़िटरी (डेटा स्टोर करने की जगह) में क्रम से मौजूद सभी दस्तावेज़ों को लिंक करना है. इसमें योगदान देने से जुड़े दिशा-निर्देशों, प्रोजेक्ट सेट अप करने के निर्देशों, और सिलसिलेवार निर्देशों को क्रम से लगाना शामिल है. - नए डेवलपर के लिए, डेवलपर वर्कफ़्लो और कम्यूनिटी वेबसाइट जोड़ना: इस चरण का मकसद, डेवलपर वर्कफ़्लो जोड़ना है. इसमें, जांच और QA के दिशा-निर्देशों के साथ-साथ, git के योगदान से जुड़े दिशा-निर्देश और प्रोजेक्ट के टेक्नोलॉजी आर्किटेक्चर को भी शामिल किया गया है. कम्यूनिटी वेबसाइट का प्रस्ताव एक पेज वाले ऐप्लिकेशन के तौर पर किया गया है. इसमें वर्कफ़्लो, पहली बार योगदान देने वाले लोगों की समस्याएं, और सभी योगदान देने वालों की सूची दिखेगी. पहला चरण: मौजूदा दस्तावेज़ों की समीक्षा करना और रीफ़ैक्टर करना:
इन रिपॉज़िटरी के मौजूदा दस्तावेज़ में बदलाव करें: - FLINT: मौजूदा दस्तावेज़ में ज़्यादा जानकारी नहीं दी गई है. साथ ही, इसमें ज़रूरी लाइब्रेरी के क्रम के बारे में नहीं बताया गया है. सिलसिलेवार निर्देशों वाली गाइड को अलग-अलग PDF में बांटा गया है. हालांकि, इन्हें एक ही जगह पर कम शब्दों में एक साथ जोड़ा जा सकता है. साथ ही, इंस्टॉलेशन गाइड Windows के लिए बनाई गई हैं. हालांकि, Linux इंस्टॉलेशन के लिए, FLINT.docker रिपॉज़िटरी पर रीडायरेक्ट करना फ़ायदेमंद हो सकता है. - FLINT.docker: मौजूदा दस्तावेज़ में, इस रिपॉज़िटरी को सेट अप करने का मकसद नहीं बताया गया है. इसका मकसद, Docker की मदद से FLINT का Linux इंस्टॉलेशन उपलब्ध कराना है. Docker की मदद से, सिर्फ़ Ubuntu 18.04 (Bionic Beaver) पर सहायता मिलती है. हालांकि, इसे Linux पर आधारित अन्य डिस्ट्रिब्यूशन पर भी इस्तेमाल किया जा सकता है. मौजूदा दस्तावेज़ में, Dockerफ़ाइलों को सेट अप करने के क्रम में लगाए जाने वाले तरीके पर भी ज़ोर दिया जाना चाहिए. साथ ही, मेकफ़ाइल से बनाने के तरीके के बारे में भी पर्याप्त जानकारी दी जानी चाहिए. - FLINT.example: मौजूदा दस्तावेज़ में डेटा स्टोर करने की इस जगह को सेट करने का मकसद नहीं बताया गया है. इसका मकसद, FLINT के इस्तेमाल का उदाहरण देना है. अलग-अलग सैंपल रन को उन्हें चलाने के लिए खास निर्देशों के साथ बेहतर तरीके से अलग किया जा सकता है. हमें इस रिपॉज़िटरी को अपने मुख्य FLINT रिपॉज़िटरी से भी लिंक करना होगा. इससे, उपयोगकर्ताओं को यहां नेविगेट करने का तरीका मिल जाएगा, ताकि वे उदाहरण को काम करते हुए देख सकें.
मौजूदा दस्तावेज़ में यह जानकारी जोड़नी होगी: - Git और GitHub का इस्तेमाल: इसमें, फ़ॉर्क करने, क्लोन करने, और फिर रिपॉज़िटरी के लिए रिमोट अपस्ट्रीम सेट करने का तरीका सिलसिलेवार निर्देशों के साथ बताया जाएगा. इसमें, नए मास्टर के हिसाब से रीबेस करने और मर्ज से जुड़ी समस्याओं को हल करने के तरीके के बारे में भी जानकारी मिलेगी. - बैज और इमोजी: मौजूदा दस्तावेज़ में बैज और इमोजी नहीं हैं. इनकी मदद से, नए योगदानकर्ताओं को यह महसूस हो सकता है कि उन्हें स्वागत किया जा रहा है. साथ ही, वे समस्याओं को आसानी से हल कर सकते हैं. - पहली बार योगदान देने वाले लोगों/शुरुआती लोगों के लिए समस्याओं के बारे में जानकारी: इससे, योगदान देने वाले नए लोगों को शुरुआती लोगों के लिए बनी समस्याओं और कम्यूनिटी वेबसाइट पर रीडायरेक्ट करने में मदद मिलेगी. - Import-me रिपॉज़िटरी के बारे में जानकारी: Import-me रिपॉज़िटरी, किसी भी Moja Global रिपॉज़िटरी को शुरू करने के लिए, बेसलाइन टेंप्लेट के तौर पर काम करता है. मौजूदा दस्तावेज़ में, इसकी अहमियत के बारे में नहीं बताया गया है. इसे अपडेट करने के लिए, 'मुझे डेटा स्टोर करने की जगह इंपोर्ट करें' के बारे में बताना होगा. साथ ही, डेटा स्टोर करने की नई जगह बनाने के लिए, इसे टेंप्लेट के तौर पर चुनने का तरीका भी जोड़ना होगा. कोड लिखने वाले लोगों के लिए, Import-me रिपॉज़िटरी में अतिरिक्त सुविधाओं के सुझाव देने की प्रक्रिया भी तय होनी चाहिए.
दूसरा चरण: दस्तावेज़ों का एक मुख्य स्टोरेज बनाना :
होस्टिंग प्लैटफ़ॉर्म के लिए इस्तेमाल किया जाने वाला टूल:
इस होस्टिंग प्लैटफ़ॉर्म के लिए, Read The Docs को टूल के तौर पर सुझाया गया है. इसकी ये वजहें हैं:- - यह अलग-अलग होस्टिंग प्लैटफ़ॉर्म में सबसे ऊपर है. - पुश करने पर अपने आप अपडेट होने की सुविधा - सेट अप करने में आसान और बड़ी संख्या में समुदाय इसका इस्तेमाल कर रहा है, इस वजह से समस्या का हल आसानी से मिल जाता है - दस्तावेज़ों को restructuredText का इस्तेमाल करके फ़ॉर्मैट किया जाता है और आउटपुट को स्फ़िंक्स ही इकट्ठा करता है.
सभी कॉन्टेंट को क्रम से व्यवस्थित करें:
कॉन्टेंट का सुझाया गया क्रम इस तरह है:- - डेवलपर दस्तावेज़ के बारे में जानकारी: इस सेक्शन में, Moja Global और FLINT के बारे में जानकारी दी जाएगी. - योगदान: इस अनुभाग में “योगदान के तरीके” (कोड/रिपोर्टिंग बग/अनुवाद/दस्तावेज़/इवेंट व्यवस्थित करना वगैरह के संबंध में) और “कोड ऑफ़ आचार” के संबंध में सब-सेक्शन शामिल होंगे. - डेवलपमेंट सेटअप: इस सेक्शन में “Git &GitHub Workflow”, “Windows इंस्टॉलेशन”, “Linux वर्कफ़्लो” सब-सेक्शन शामिल होंगे. - हमारे साथ जुड़ें: इस सेक्शन में, Moja Global से जुड़ने और उसके साथ काम करने के लिए, Slack चैनल जैसे अलग-अलग सोशल फ़ोरम उपलब्ध होंगे.
तीसरा चरण: नए योगदानकर्ताओं के लिए, डेवलपर वर्कफ़्लो और कम्यूनिटी वेबसाइट जोड़ना:
डेवलपर वर्कफ़्लो का दस्तावेज़:
डेवलपर वर्कफ़्लो दस्तावेज़ में ये सब-सेक्शन शामिल होंगे:
- इस्तेमाल किए गए टेक्नोलॉजी स्टैक/आर्किटेक्चर और कोड में मौजूद अलग-अलग मॉड्यूल: इस दस्तावेज़ में, नए योगदानकर्ताओं को लागू किए गए टेक्नोलॉजी स्टैक, कोडबेस की अलग-अलग लाइब्रेरी, और मॉड्यूल के बारे में जानकारी दी जाती है.
- इंटिग्रेटेड टेस्टिंग और कवरेज टूल: CI/CD पाइपलाइन टूल में नए योगदानकर्ताओं को शामिल किया जा रहा है. इन टूल का इस्तेमाल, टेस्टिंग, कवरेज बॉट, और अपने कोड के लिए ऑटोमेटेड क्वालिटी जांच के लिए किया जाता है. साथ ही, उन्हें यह भी बताया जाता है कि टेस्ट पास न होने पर, किससे संपर्क करना है.
- ऐसे बॉट जिनका इस्तेमाल वर्कफ़्लो को आसान बनाने के लिए किया जाता है.उदाहरण के लिए, Zulipbot: बॉट के लिए कॉन्टेंट टेंप्लेट डिज़ाइन करना और दस्तावेज़ उपलब्ध कराना, ताकि उपयोगकर्ता बॉट को समझ सकें और योगदान देकर बॉट के कॉन्फ़िगरेशन को बेहतर बना सकें.
- पुल के अनुरोध की मैन्युअल तौर पर जांच करना और उसे सबमिट करना: कुछ मानकों के हिसाब से पुल के अनुरोधों की मैन्युअल तरीके से जांच करने के बारे में बताने वाले दस्तावेज़. साथ ही, पुल के अनुरोध सबमिट करते समय स्क्रीनशॉट/GIF के तौर पर नतीजे अपलोड करने के बारे में बताने वाले दस्तावेज़.
- योगदान देने वालों को दिए जाने वाले अनुरोध की समीक्षा से जुड़े दिशा-निर्देश: समीक्षा के लिए कुछ टीमों को टैग करने के बारे में दिशा-निर्देश. साथ ही, पुल के अनुरोध में “समीक्षा की ज़रूरत है” जैसे लेबल जोड़ने से जुड़े दिशा-निर्देश, ताकि मैनेज करने वाले जवाब दे सकें.
कम्यूनिटी वेबसाइट:
समुदाय की वेबसाइट पर ये सुविधाएं होंगी:-
- हमारे वर्कफ़्लो के बारे में जानकारी: वर्कफ़्लो में ऐसी कई कार्रवाइयां शामिल होंगी जो नए योगदान देने वाले नए योगदान देने वाले व्यक्ति से शुरू कर सकते हैं.उदाहरण के लिए - 'फ़र्स्ट टाइमर' से जुड़ी समस्या के बारे में बताना, उसके बाद किसी और के लिए फ़र्स्ट टाइमर वाली समस्या तैयार करना और दूसरों की मदद के लिए सुझाव देना और उनके पुल के अनुरोधों की समीक्षा करना.
- सिर्फ़ पहले टाइमर की समस्याओं की सूची: उन समस्याओं की सूची जो खास तौर पर पहली बार खेलने वाले या योगदान देने वाले नए लोगों से जुड़ी हैं.
- पुरानी समस्याओं की सूची: इसमें उन समस्याओं की सूची होती है जिन पर लंबे समय से काम नहीं किया गया है. इसलिए, योगदान देने वाले लोग इन समस्याओं को चुन सकते हैं.
- योगदान देने वालों की सूची: योगदान देने वाले उन लोगों की सूची जिन्होंने अब तक Moja ग्लोबल डेटा स्टोर करने की जगहों में योगदान दिया है.
- हाल ही में योगदान देने वाले लोग: उन लोगों की सूची जिन्होंने हाल ही में Moja Global के रिपॉज़िटरी में योगदान दिया है.
- चैट फ़ोरम में शामिल होने के लिंक: Slack कम्यूनिटी में शामिल होने के लिंक और जानकारी, ताकि वे अपनी क्वेरी हल कर सकें और प्रोजेक्ट के बारे में आगे चर्चा कर सकें.