منصةويب
ترحيل أكثر من 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 دون إعادة كتابة المنصة بأكملها وما يرافق ذلك من مخاطر.