मोजा ग्लोबल प्रोजेक्ट

इस पेज पर Google Docs के सीज़न के लिए स्वीकार किए गए एक तकनीकी लेखन प्रोजेक्ट की जानकारी है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
मोजा ग्लोबल
तकनीकी लेखक:
लैज़ीपांडा
प्रोजेक्ट का नाम:
FLINT के लिए तकनीकी ऑनबोर्डिंग गाइड से जुड़े दस्तावेज़
प्रोजेक्ट की अवधि:
मानक अवधि (तीन महीने)

प्रोजेक्ट का विवरण

FLINT के लिए तकनीकी ऑनबोर्डिंग गाइड का दस्तावेज़, ताकि तकनीकी ऑनबोर्डिंग की मदद से, योगदान देने वाले नए लोगों को गाइड किया जा सके. इसका मकसद, मैनेज करने वाले लोगों से मिलने वाली कम से कम मदद के साथ, योगदान देने वाले नए लोगों को आसानी से शुरू करना चाहिए.

प्रोजेक्ट की समस्याएं

यहां मौजूदा दस्तावेज़ से जुड़ी सबसे अहम समस्याओं की सूची दी गई है: - स्थानीय सेटअप गाइड के निर्देशों में गलत तरीके से जानकारी दी गई है, इसलिए योगदान देने वाले नए व्यक्ति के लिए, शुरुआत करना मुश्किल हो जाता है. - FLINT के कई रिपॉज़िटरी (डेटा स्टोर करने की जगह) में उनके मकसद के दस्तावेज़ मौजूद नहीं होते हैं. साथ ही, वे एक-दूसरे से लिंक नहीं होते हैं. इस वजह से, नए उपयोगकर्ताओं के लिए यह पता लगाना मुश्किल हो जाता है कि कौनसा डेटा स्टोर किया जाना है. - Windows इंस्टॉलेशन के बारे में पुख्ता जानकारी दी गई है, लेकिन Linux पर आधारित इंस्टॉलेशन दस्तावेज़ में सुधार की गुंजाइश है. - Git वर्कफ़्लो, फ़िलहाल दस्तावेज़ का हिस्सा नहीं है

प्रस्तावित समाधान

इस प्रस्ताव में, योगदान देने वाले नए लोगों को तकनीकी ऑनबोर्डिंग की मदद से गाइड करने का तरीका बताया गया है. इससे, योगदान देने वाले नए लोगों को रखरखाव करने वालों की कम से कम मदद के साथ आसानी से शुरुआत करने में मदद मिलेगी. ऐसा करने के लिए, मौजूदा दस्तावेज़ों को फिर से तैयार करें. इससे यह नए उपयोगकर्ताओं के लिए आसान हो जाएगा. साथ ही, सभी उपलब्ध दस्तावेज़ों के लिए एक अलग जगह बनाए रखने में भी मदद मिलेगी. प्रोजेक्ट को तीन चरणों में बांटा गया है:- - मौजूदा दस्तावेज़ और रीफ़ैक्टरिंग की समीक्षा करना: इस चरण का मकसद, मौजूदा गाइड की समीक्षा करना और इसे इस तरह से रीफ़ैक्टर करना है कि नए योगदान देने वाले इसे कम शब्दों में समझ सकें और समझने में आसान हों. इस दस्तावेज़ में बदलाव भी किया जाना चाहिए, ताकि यह नए उपयोगकर्ताओं के लिए काम का हो. इसमें बैज, इमोजी, और उन समस्याओं की जानकारी जोड़ी गई है जिन पर सिर्फ़ फ़र्स्ट टाइमर या 'फ़र्स्ट फ़र्स्ट समस्या' टैग में लेबल किए गए हैं. - एक सेंट्रल स्टैंडअलोन दस्तावेज़ डेटा स्टोर करना: इस फ़ेज़ का मकसद, लॉजिकल क्रम में उपलब्ध सभी दस्तावेज़ों को स्टैंडअलोन रिपॉज़िटरी के साथ लिंक करना है. इसमें, योगदान से जुड़े दिशा-निर्देशों, प्रोजेक्ट सेटअप करने के निर्देश, और सिलसिलेवार निर्देशों का ऑर्डर देना शामिल है. - नए डेवलपर के लिए डेवलपर वर्कफ़्लो और कम्यूनिटी वेबसाइट जोड़ें: इस चरण का मकसद डेवलपर वर्कफ़्लो जोड़ना है. इसमें टेस्ट और QA के दिशा-निर्देशों के साथ प्रोजेक्ट के गिट योगदान के दिशा-निर्देश और टेक्नोलॉजी आर्किटेक्चर शामिल हैं. प्रस्तावित समुदाय वेबसाइट एक पेज का ऐप्लिकेशन होगी, जो वर्कफ़्लो और पहली बार आने वाले लोगों की समस्याओं को दिखा रही होगी. इन समस्याओं पर, योगदान देने वाले नए लोग और सभी योगदान देने वालों की सूची शामिल कर सकती है. पहला चरण: मौजूदा दस्तावेज़ और रीफ़ैक्टरिंग की समीक्षा करें:

डेटा स्टोर करने की इन जगहों के मौजूदा दस्तावेज़ों में बदलाव करें: - FLINT: मौजूदा दस्तावेज़ में ज़्यादा जानकारी नहीं है और ज़रूरी लाइब्रेरी के क्रम का कोई क्रम उपलब्ध नहीं है. सिलसिलेवार निर्देश देने वाली गाइड को अलग-अलग PDF फ़ॉर्मैट में बांटा गया है. हालांकि, इन्हें एक ही जगह पर कम शब्दों में मैनेज किया जा सकता है. साथ ही, इंस्टॉल करने की गाइड विंडो के हिसाब से दी जाती हैं, लेकिन Linux के लिए, FLINT.docker रिपॉज़िटरी पर रीडायरेक्ट करना फ़ायदेमंद हो सकता है. - FLINT.docker: मौजूदा दस्तावेज़ में, डेटा स्टोर करने की इस जगह को सेट करने का मकसद नहीं बताया गया है. इसका मकसद, डॉकर की मदद से FLINT को Linux के इंस्टॉल करने की सुविधा उपलब्ध कराना है. Docker से मिलने वाली सहायता सिर्फ़ Ubuntu 18.04 (Bionic Beaver) तक सीमित है, लेकिन Linux पर आधारित अन्य डिस्ट्रिब्यूशन के लिए भी इसका इस्तेमाल किया जा सकता है. मौजूदा दस्तावेज़ में इस बात पर भी ज़ोर दिया जाना चाहिए कि डॉकरफ़ाइलों को किस क्रम में सेट अप किया जा रहा है. साथ ही, इस बात पर भी ज़ोर दिया जाना चाहिए कि मेकफ़ाइल से कैसे बनाया जाए. - FLINT.example: मौजूदा दस्तावेज़ में, डेटा स्टोर करने की इस जगह को सेट करने का मकसद नहीं बताया गया है. इसमें FLINT को इस्तेमाल करने के तरीके का उदाहरण दिया जाता है. अलग-अलग सैंपल रन को चलाने के लिए खास निर्देशों के साथ बेहतर तरीके से अलग किया जा सकता है. हमें इस डेटा स्टोर करने की जगह को अपने मुख्य FLINT डेटा स्टोर करने की जगह से भी लिंक करना होगा, ताकि उपयोगकर्ताओं को यहां नेविगेट करने का तरीका मिल सके. इससे वे उदाहरण देख पाएंगे.

मौजूदा दस्तावेज़ में यह जानकारी जोड़नी होगी: - Git और GitHub का इस्तेमाल: इसमें, डेटा को फ़ोर्क, क्लोन करने, और फिर रिपॉज़िटरी के लिए रिमोट अपस्ट्रीम सेट करने के बारे में सिलसिलेवार निर्देश दिए गए हैं. इसमें यह जानकारी भी दी जाएगी कि नए मास्टर से तुलना कैसे की जा सकती है और मर्ज करने से जुड़े विवादों को कैसे सुलझाया जा सकता है. - बैज और इमोजी: मौजूदा दस्तावेज़ में बैज और इमोजी की कमी है. इनकी मदद से, योगदान देने वाले नए लोगों को अच्छा अनुभव मिल सकता है और वे किसी मुश्किल समस्या को हल भी नहीं कर सकते. - पहली टाइमर/बिगिनर के लिए अनुकूल समस्याओं के बारे में जानकारी: इससे नए योगदान देने वालों को बिगिनर-फ़्रेंडली मुद्दे और समुदाय वेबसाइट पर रीडायरेक्ट करने में मदद मिलेगी. - इंपोर्ट-मी रिपॉज़िटरी के बारे में जानकारी: इंपोर्ट-मी रिपॉज़िटरी, किसी भी Moja ग्लोबल रिपॉज़िटरी को सीधे शुरू करने के लिए बेसलाइन टेंप्लेट के तौर पर काम करती है. मौजूदा दस्तावेज़ में भी इसकी अहमियत नहीं बताई गई है. इंपोर्ट-मी रिपॉज़िटरी के बारे में बताने के लिए, इसे अपडेट करना ज़रूरी है. साथ ही, नया रिपॉज़िटरी बनाने के लिए, इसे टेंप्लेट के तौर पर चुनने का तरीका भी जोड़ना होगा. कोडर के लिए, इंपोर्ट-मी रिपॉज़िटरी (डेटा स्टोर करने की जगह) में अतिरिक्त सुविधाओं का सुझाव देने के लिए, एक प्रोसेस भी होनी चाहिए.

चरण 2: एक सेंट्रल स्टैंडअलोन दस्तावेज़ डेटा स्टोर करने की जगह बनाएं :

होस्टिंग प्लैटफ़ॉर्म के लिए इस्तेमाल किया जाने वाला टूल:

इस होस्टिंग प्लैटफ़ॉर्म के लिए, 'दस्तावेज़ पढ़ें' वाले टूल को इन वजहों से इस्तेमाल किया गया है:- - इसकी रैंकिंग, अलग-अलग होस्टिंग प्लैटफ़ॉर्म पर सबसे अच्छी है. - प्रतिबद्धता को आगे बढ़ाने पर अपने आप अपडेट करना - इसका इस्तेमाल करने वाले बड़े समुदाय की वजह से इसे सेट अप करना और समस्या को हल करना आसानी से उपलब्ध हो जाता है - दस्तावेज़ को reस्ट्रक्चर्ड टेक्स्ट का इस्तेमाल करके फ़ॉर्मैट किया गया है और आउटपुट स्फ़िंक्स की मदद से इकट्ठा किया गया है.

सारे कॉन्टेंट को लॉजिकल क्रम में व्यवस्थित करना:

कॉन्टेंट का क्रम यहां बताया गया है:- - डेवलपर दस्तावेज़ के बारे में जानकारी: इस सेक्शन में Moja Global और FLINT के बारे में जानकारी दी जाएगी. - योगदान: इस सेक्शन में “कॉन्टेंट को रिपोर्ट करने के तरीके” (कोड/गड़बड़ी की रिपोर्टिंग/अनुवाद/दस्तावेज़/इवेंट आयोजित करने वगैरह के संबंध में) और “कोड ऑफ़ कंडक्ट” सब-सेक्शन - हमसे जुड़ें: इस सेक्शन में Moja Global के साथ जुड़ने और काम करने के लिए, Slack चैनल जैसे कई सोशल फ़ोरम उपलब्ध हैं.

चरण 3: नए योगदान देने वालों के लिए डेवलपर वर्कफ़्लो और कम्यूनिटी वेबसाइट जोड़ें:

डेवलपर वर्कफ़्लो दस्तावेज़:

डेवलपर वर्कफ़्लो दस्तावेज़ में ये सब-सेक्शन शामिल होंगे:

  • इस्तेमाल किया गया टेक्नोलॉजी स्टैक/आर्किटेक्चर और कोड में मौजूद अलग-अलग मॉड्यूल: लागू किए गए टेक्नोलॉजी स्टैक, अलग-अलग लाइब्रेरी, और कोड बेस के मॉड्यूल के बारे में बताने वाले नए उपयोगकर्ताओं के बारे में जानकारी देने वाला दस्तावेज़.
  • इंटिग्रेट किए गए टेस्टिंग और कवरेज टूल: जांच के लिए इस्तेमाल होने वाले सीआई/सीडी पाइपलाइन टूल के लिए नए योगदान देने वाले लोग, कवरेज बॉट, और ऑटोमेटेड क्वालिटी चेक उनके कोड पर चलते हैं. साथ ही, उन्हें यह दिशा-निर्देश भी देना कि अगर टेस्ट फ़ेल हो जाएं, तो किससे संपर्क करें.
  • वर्कफ़्लो को आसान बनाने के लिए बॉट का इस्तेमाल किया जाता है. उदाहरण के लिए, ज़ूलिपबॉट: बॉट दिखाने के लिए कॉन्टेंट टेंप्लेट डिज़ाइन करना. साथ ही, दस्तावेज़ उपलब्ध कराना, ताकि उपयोगकर्ता बॉट को समझ सकें और बॉट के कॉन्फ़िगरेशन को बेहतर बनाने के लिए योगदान दे सकें.
  • पुल के अनुरोध का मैन्युअल तरीके से टेस्ट और सबमिट करना: पुल के अनुरोधों को कुछ मानकों के हिसाब से मैन्युअल तरीके से टेस्ट करने के तरीके से जुड़े दस्तावेज़ और पुल के अनुरोध सबमिट करने पर स्क्रीनशॉट/gif के तौर पर नतीजों को अपलोड करने के तरीके के बारे में उपलब्ध कराए जाने वाले दस्तावेज़.
  • योगदान देने वालों के मुताबिक समीक्षा के लिए अनुरोध करने से जुड़े दिशा-निर्देश: समीक्षा के लिए कुछ टीमों को टैग करने और पुल के अनुरोध में “समीक्षा ज़रूरी है” जैसे लेबल जोड़ने के बारे में दिशा-निर्देश, ताकि रखरखाव करने वाले लोग जवाब दे सकें.
समुदाय की वेबसाइट:

कम्यूनिटी वेबसाइट में ये सुविधाएं होंगी:-

  • हमारे वर्कफ़्लो के बारे में जानकारी: वर्कफ़्लो में कई तरह की कार्रवाइयां शामिल होती हैं. ये कार्रवाइयां, योगदान देने वाले नए व्यक्ति से शुरू की जा सकती हैं. उदाहरण के लिए, फ़र्स्ट टाइमर की समस्या पर दावा करना. इसके बाद, किसी और के लिए टाइमर की समस्या शुरू करना और सुझाव, शिकायत या राय शेयर करके और पुल के अनुरोधों की समीक्षा करके, दूसरों की मदद करना.
  • सिर्फ़ पहले टाइमर वाली समस्याओं की सूची: उन समस्याओं की सूची जो खास तौर पर पहली बार आने वाले या योगदान देने वाले नए लोगों के लिए हैं.
  • पुरानी समस्याओं की सूची: ऐसी समस्याओं की सूची जिन पर काफ़ी समय से काम नहीं किया गया है और इसलिए योगदान देने वाले लोग इन समस्याओं को चुन सकते हैं.
  • योगदान देने वालों की सूची: Moja Global के डेटा स्टोर करने की जगहों में अब तक योगदान देने वाले योगदान देने वालों की सूची.
  • हाल ही में योगदान देने वाले: मोजा ग्लोबल के डेटा स्टोर करने की जगहों में हाल ही में योगदान देने वाले लोगों की सूची.
  • चैट फ़ोरम से जुड़ने के लिंक: Slack समुदाय से जुड़ने के लिए जानकारी और लिंक, ताकि उनकी क्वेरी का समाधान किया जा सके और प्रोजेक्ट पर आगे की चर्चा की जा सके.