نقل نظام قائم من Ruby إلى Node.js
نبذة سريعة
لدينا نظام جاهز ومُطلق مكتوب بـ Ruby (Rails) عبارة عن لوحة تحكم (CMS/Dashboard) لإدارة الطلبات والعملاء والمزوّدين. نريد نفس النظام كما هو ولكن منقول بالكامل إلى Node.js مع الحفاظ على كل السلوكيات والتكاملات الحالية، ثم فتح الباب لتحسينات لاحقة بعد تحقيق التكافؤ الوظيفي (Feature Parity)
الهدف
تحقيق تكافؤ وظيفي 100% مع النظام الحالي على Ruby.
نقل التكاملات (WhatsApp API، الدفع، AWS) إلى Node.js
بناء أساس حديث قابل للتوسّع (اختبارات، مراقبة، CI/CD) لميزات مستقبلية.
لوحة تحكم لإدارة: العملاء، الطلبات، المزوّدين/الشركاء، المستخدمين والصلاحيات، الإعدادات.
سير عمل الحالات (Order Status Workflow):
مثال: عند تغيير الحالة إلى Confirmed يتم إرسال رسالة WhatsApp للعميل (تكامل WhatsApp API).
عند تم الدفع (Paid) تُرسل رسالة أخرى مختلفة.
الدفع: التكامل مربوط بـ AWS (Webhooks/Functions أو خدمات ذات صلة) لمزامنة حالة الدفع وتأكيدها.
كل هذا يعمل الآن على Ruby ونريد نقله كما هو إلى Node.js.
سنوفّر لك وصولًا إلى النظام الحالي (الكود/البيانات/الوثائق المتاحة) لمعاينة التدفقات والتكاملات كما تعمل الآن
ربط قوالب رسائل WhatsApp (Confirmed، Paid، …) مع الـ Webhooks/Jobs لضمان الإرسال التلقائي.
إعادة ربط بوابة الدفع كما هي (سنوفّر Sandbox)، والتعامل مع Notifications/Webhooks لتحديث حالة الطلب
تكامل AWS القائم (أو بديل مكافئ) لمزامنة حالة الدفع ومعالجة الوسائط/الملفات إن وجِدت.
نقل البيانات (Data Migration)
استخراج المخطط (Schema) والـ Dumps/CSV من قاعدة Ruby
تصميم سكربتات ترحيل (Safe Batches) مع فحص سلامة البيانات (Dedup/Validation)
Logs/Monitoring (Pino/Winston + Health checks + Error handling)
ما سنوفره لك
وصول إلى repo الحالي نسخة من الكود
خطة عمل مختصرة: كيف ستحقق التكافؤ الوظيفي؟ وما ترتيب الأولويات؟
المدد الزمنية: تقدير زمني مبدئي لكل مرحلة (تحليل، بناء API، ترحيل بيانات، تكاملات، اختبارات، إطلاق).
التكلفة: عرض تكلفة بالمرحلة أو بالكامل + ما يشمله/لا يشمله
التقنيات: إطار العمل، ORM، قواعد البيانات، منهج الاختبارات، المراقبة، CI/CD
مخاطر وافتراضات: ما المخاطر المحتملة وخطة تخفيفها (مثلاً: فروقات سلوك بين Ruby وNode، مشاكل جودة البيانات)
أمثلة أعمال مشابهة أو GitHub/Portfolio ذات صلة (خصوصًا نقل أنظمة/تكامل دفع/WhatsApp)
ضمان ما بعد الإطلاق: فترة دعم لإصلاح الأخطاء وتحسينات طفيفة
المدد تقديرية: الهدف من عروض المستقلين تقديم تقديرات بديلة بناءً على قراءتهم للكود الحالي.
معايير الاختيار
خبرة مثبتة في Node.js ونقل مشاريع من أطر أخرى.
خبرة في بوابات الدفع وWhatsApp API (قوالب/رسائل/ويب هوكس).
جودة العروض: وضوح الخطة، الاختبارات، الأمان، التوثيق.
التزام بالمواعيد ودعم ما بعد الإطلاق
بنود مهمة بعينها (للتأكيد)
الرسائل التلقائية:
مثلا عند Confirmed → إرسال رسالة WhatsApp (Template X)
عند Paid → إرسال رسالة WhatsApp (Template Y).
الدفع عبر AWS: استقبال Webhooks وتحديث الحالة فورًا + سجلات監aud
الهدف الأول: نقل كما هو (تكافؤ كامل)، ثم تحسينات لاحقة (تبسيط الواجهات، تحسين الأداء، تقارير إضافية…).
فضلاً أرسل:
خطتك المختصرة، الجدول الزمني، التكلفة، التقنيات، أهم المخاطر/الافتراضات
النظام الحالي على Ruby يعمل إنتاجيًا ويتضمن تدفّقات قوية للطلبات، رسائل WhatsApp حسب الحالة، وتكامل دفع عبر AWS. نحتاج نسخة Node.js مطابقة سلوكياً أولاً، مع نقل كل التكاملات كما هي، ثم نفتح المجال للتحسينات
السلام عليكم و رحمة الله و بركاته أقدم نقلا منهجيا ومضمونا لنظامكم من Ruby on Rails إلى Node.js مع الحفاظ على كل السلوكيات والتكاملات الحالية، ثم بناء أساس حديث...
السلام عليكم ورحمة الله وبركاته أستاذ محمد، أنا أحمد الطاهر، مطور Node.js بخبرة تتجاوز السنتين في تطوير الأنظمة الخلفية وبناء بنى تحتية قوية وقابلة للتوسع. شارك...
أهلا بحضرتك أنا محمد خالد مهندس برمجيات بخبرة 3 سنوات في تطوير أنظمة الـ MERN Stack، مع خبرة متنوعة في تصميم وتطوير RESTful APIs والـ Integrations الخاصة بأنظمة...