प्लेटफ़ॉर्मवेब
100 से ज़्यादा पुराने पेजों को React और Next.js पर ले जाना
Velocity आधारित मोनोलिथ को आधुनिक फ्रंटएंड रिपॉज़िटरी में चरणबद्ध तरीके से ले जाना, बिना किसी बाधा डालने वाले पूरे पुनर्लेखन के।
- भूमिका
- Software Engineer (Web)
- अवधि
- 2018–2025
- टेक स्टैक
- React · Next.js · TypeScript · Migration strategy
समस्या
Traveloka का आवास भागीदार प्रोडक्ट (TERA) आंशिक रूप से Apache Velocity से बने पुराने मोनोलिथ पर चलता था। लक्ष्य था प्रोडक्ट का काम रोके बिना इसे आधुनिक React और Next.js फ्रंटएंड स्टैक पर ले जाना।
तरीका
- एक साथ नहीं, धीरे-धीरे माइग्रेट करना. माइग्रेशन रणनीति इसी भूमिका की ज़िम्मेदारी थी: प्रोडक्ट की रिलीज़ जारी रहते हुए पेज एक-एक करके React और Next.js रिपॉज़िटरी में ले जाए गए।
- पहले पैटर्न तय करना. बड़े हिस्से का काम शुरू होने से पहले माइग्रेशन आर्किटेक्चर, दोबारा इस्तेमाल होने वाले पैटर्न और तकनीकी मानक तय किए गए, ताकि हर पेज उन्हें दोबारा न बनाए।
- टीमों के बीच तालमेल. इम्प्लीमेंटेशन और रोलआउट कई टीमों में बाँटे गए, हर पेज का साफ़ मालिक तय था और पुराने पेज से समानता जाँचने का एक जैसा तरीका था।
Traveloka के शुरुआती दौर में ही 11 पेज (लगभग 35 मैन-वीक का काम) मोनोलिथ से Front-End Web रिपॉज़िटरी में ले जाए जा चुके थे, जो इस बड़े प्रयास का पहला कदम था।
नतीजा
पूरे प्लेटफ़ॉर्म को दोबारा लिखे बिना, और उससे जुड़े जोखिम के बिना, 100 से ज़्यादा पुराने पेज React और Next.js में आधुनिक बनाए गए।