चुनिंदा काम

Gurucool: Shloka शिप करना, फिर ऐप को iOS पर लाना

भूमिका
0→1 बनाया
स्टैक
React Native · GraphQL · Agora · CleverTap
लिंक्स

समस्या

मैं Gurucool में एक ऐप इंजीनियर के तौर पर शामिल हुआ और मुझे लगातार दो बहुत अलग काम मिले। पहला, स्क्रैच से एक बिलकुल नया ऐप बनाना। फिर, उस ऐप को ठीक करना जो कंपनी के पास पहले से था: एक React Native प्रोडक्ट जो Android पर शिप होता था पर जिसका कोई iOS वर्ज़न था ही नहीं।

Shloka, स्क्रैच से बनाया

मेरा पहला प्रोजेक्ट Shloka था, एक ऐसा ऐप जो यूज़र्स को किसी शांत और रोज़मर्रा की चीज़ की तरफ़ वापस लाने के लिए बनाया गया था: भगवद् गीता के श्लोक। बैकएंड में श्लोकों का पूरा संग्रह था, और हर एक के साथ उसका अनुवाद, ट्रांसलिटरेशन, कमेंट्री, और अर्थ था। मैंने ऐप को इसी के इर्द-गिर्द बनाया: एक साफ़ रीडिंग अनुभव जो बैकएंड से एक श्लोक और उसके संदर्भ की परतें खींचता है और उन्हें सरलता से पेश करता है। मैंने इसे शून्य से iOS और Android दोनों पर बनाया और शिप किया।

Gurucool को iOS पर लाना

Gurucool ख़ुद एक एस्ट्रोलॉजी गाइडेंस ऐप है: लोग सर्टिफ़ाइड ज्योतिषियों से प्यार, करियर, शादी, सेहत, और पैसे के बारे में डेली होरोस्कोप, चैट, ऑन-कॉल सेशन, और लाइव वीडियो के ज़रिए सलाह लेते हैं, जो वैदिक ज्योतिष, टैरो, न्यूमरोलॉजी, और वास्तु पर आधारित है। रियल-टाइम कंसल्टेशन पर यही फ़ोकस वजह है कि ऐप चैट और लाइव सेशन पर इतना निर्भर करता है, वही दो चीज़ें जिन्हें मैंने आगे बनाया और ठीक किया।

फिर मैं Gurucool ऐप टीम में आया। ऐप एक अकेला React Native कोडबेस था, पर उससे सिर्फ़ Android ही कभी बिल्ड हुआ था। कोई iOS ऐप नहीं था, और, जैसा मुझे पता चला, प्रोजेक्ट में कोई ios फ़ोल्डर ही नहीं था। तो पहला काम था iOS को अस्तित्व में लाना: मैंने मौजूदा React Native रेपो के अंदर ios प्रोजेक्ट और उसका नेटिव स्कैफ़ोल्डिंग बनाया, फिर उस हर चीज़ की लंबी कतार से गुज़रा जो तब टूटती है जब कोई कोडबेस कभी iOS को टारगेट ही नहीं करता। पॉड्स इंस्टॉल नहीं हो रहे थे, ऐप बिल्ड नहीं हो रहा था, ऐप स्टार्ट नहीं हो रहा था। मैंने हर इशू को तब तक ठीक किया जब तक यह कंपाइल और रन न हो गया, iOS ऐप को Android के पूरे स्तर तक लाया, और उसे App Store पर पब्लिश किया।

वहाँ से, iOS मेरा था। मैंने iOS ऐप को पूरी तरह ओन किया और टीम के साथ दोनों प्लेटफ़ॉर्म को मिलकर संभाला।

मैंने किन चीज़ों पर काम किया

GraphQL सब्सक्रिप्शन पर एक चैट सिस्टम। मैंने ऐप की चैट ऐसी बनाई कि मैसेज GraphQL सब्सक्रिप्शन पर चलें, ताकि बातचीत बिना पोलिंग के लाइव रहे।

लाइव वीडियो। Agora पहले से इंटीग्रेटेड था पर बग्गी था। मैंने इशूज़ पर काम किया और बग्स ठीक किए ताकि लाइव सेशन असल में टिक सकें।

एंगेजमेंट के लिए CleverTap। मैंने CleverTap इंटीग्रेट किया ताकि टीम देख सके कि ऐप कैसे इस्तेमाल हो रहा है और लाइफ़साइकल मैसेजिंग चला सके।

स्ट्रक्चर और ऑप्टिमाइज़ेशन। मैंने ऐप की फ़ाइलें और फ़ोल्डर दोबारा व्यवस्थित किए और प्रोजेक्ट को साफ़ किया ताकि यह सिर्फ़ काम करने वाला नहीं, बल्कि मेंटेनेबल और तेज़ हो।

नतीजा

दोनों ऐप शिप हुए। Shloka शून्य से iOS और Android पर निकला। Gurucool ऐप Android-ओनली से एक पूरी iOS मौजूदगी तक पहुँचा जिसे मैंने एक ऐसे कोडबेस से बनाया और पब्लिश किया जो कभी iOS के लिए कंपाइल ही नहीं हुआ था, फिर यह मेरे साथ iOS ओनर के तौर पर एक दो-प्लेटफ़ॉर्म टीम में चला। सार सीधा है: मैं एक ऐप को जहाँ भी वह हो, गायब, आधा-बना, या बिखरा हुआ, वहाँ से शिप्ड और मेंटेनेबल तक ले जाता हूँ।