دراسة حالة · الترحيل
دراسة حالة: نقل متجر أغذية يبيع مباشرة للمستهلك من Firebase إلى بنية خاصة على Go وPostgreSQL
كانت علامة تجارية تبيع الفواكه والخضروات والمساحيق المجففة مباشرة للمستهلكين تدير متجرها الإلكتروني في البداية على React مع Firebase Authentication وCloud Firestore وFirebase Storage، مستضافاً على Vercel. أعدنا بناءه على بنية تتحكم فيها العلامة التجارية نفسها: واجهة برمجة بلغة Go على PostgreSQL، وتخزين صور متوافق مع S3 ومستضاف ذاتياً، وصفحات منتجات تُعرض من الخادم يستطيع زاحفو البحث وأدوات الذكاء الاصطناعي قراءتها، ومحوّل دفع عبر Razorpay، وكل ذلك يعمل في Docker على خادم افتراضي خاص.
بقلم Web Your Vyavsay team · نُشر في
كُتب بمساعدة الذكاء الاصطناعي. تُراجَع المعلومات مقابل المصادر المذكورة ويراجعها فريقنا. ترجمة للنسخة الإنجليزية بمساعدة الذكاء الاصطناعي. تُجرى المكالمات والمشاريع باللغة الإنجليزية.
قبل وبعد
| قبل | بعد | |
|---|---|---|
| الواجهة الأمامية | React وVite، تُعرض في المتصفح | React 19 وVite، مع عرض الصفحات العامة من الخادم |
| الخادم والبيانات | Firebase Authentication وCloud Firestore | واجهة برمجة بلغة Go ببنية سداسية على PostgreSQL |
| تسجيل الدخول | Firebase Authentication، بما في ذلك الدخول عبر Google | رموز JWT للوصول والتجديد، والتحقق من البريد، وإعادة تعيين كلمة المرور |
| الملفات | Firebase Storage | MinIO، تخزين متوافق مع S3 تستضيفه العلامة بنفسها |
| الاستضافة | Vercel | Docker Compose على خادم افتراضي خاص، خلف Nginx مع شهادات Let’s Encrypt |
لماذا تُقدم الفرق على هذا النوع من الانتقال
هذه هي الأسباب الشائعة التي تدفع الشركات إلى ترك خدمات الخادم الجاهزة مثل Firebase، وهي تنطبق على مشاريع كثيرة لا على هذا المشروع وحده.
- تتلاءم الطلبات والمخزون والتقارير بطبيعتها مع قاعدة بيانات علائقية يمكن الاستعلام منها وتصديرها بحرية.
- امتلاك قاعدة البيانات والملفات يعني اختيار مكان البيانات ونقلها دون الاعتماد على أدوات التصدير لدى المزوّد.
- تصبح التكاليف متوقعة عندما تكون فاتورة خادم بدلاً من تسعير لكل عملية.
- تمنح الصفحات المعروضة من الخادم محركات البحث وأدوات الذكاء الاصطناعي المحتوى الكامل للمنتج، لا صفحة فارغة.
ما الذي أضافته إعادة البناء
- سلة تسوق محفوظة على الخادم للعملاء المسجلين، مع إمكانية الشراء كزائر.
- تقييمات المنتجات وقائمة الأمنيات.
- مدفوعات عبر Razorpay، مع بوابة تجريبية للاختبار.
- تصدير الطلبات والمستخدمين وطلبات الجملة بصيغة CSV من لوحة الإدارة.
- عناوين وأوصاف SEO تُدار لكل صفحة من لوحة الإدارة.
- إدارة طلبات الجملة لمشتري الكميات الكبيرة.
صفحات يستطيع الزاحفون والذكاء الاصطناعي قراءتها
تعرض خدمة Node صغيرة كل صفحة عامة بصيغة HTML قبل إرسالها، فيتلقى زاحف البحث أو معاينة الرابط أو قارئ الذكاء الاصطناعي تفاصيل المنتج بدلاً من حاوية فارغة. وإذا تعطلت تلك الخدمة، يعود Nginx إلى التطبيق الثابت، فلا يُمنع المتسوقون أبداً من الوصول.
دروس لعملية الترحيل الخاصة بك
- حافظ على روابطك، أو أعد توجيه كل رابط قديم توجيهاً دائماً، ليبقى ترتيبك في نتائج البحث.
- تحقق مما إذا كان مزوّد تسجيل الدخول الحالي يستطيع تصدير تجزئات كلمات المرور، وإن لم يستطع فجهّز مساراً لإعادة تعيينها للعملاء الحاليين.
- انقل الصور والملفات مع سجلات قاعدة البيانات التي تشير إليها.
- جرّب الترحيل على نسخة قبل تحويل المتجر العامل.
الأسئلة الشائعة
هل Firebase خيار سيئ للمتجر الإلكتروني؟
لا. إنه طريقة سريعة للإطلاق، وتعمل عليه متاجر كثيرة بشكل جيد. ويصبح الانتقال منه منطقياً عندما تحتاج إلى تقارير علائقية، أو تحكم أكبر في بياناتك وتكاليفك، أو صفحات تُعرض من الخادم.
متى يجب أن تنتقل الشركة من Firebase؟
عندما يصبح من الصعب إدارة التقارير أو تصدير البيانات أو التكاليف، أو عندما تحتاج إلى البيانات في موقع محدد، أو عندما يتأثر الظهور في البحث لأن الصفحات لا تُعرض إلا في المتصفح.
هل يمكن نقل المتجر من Firebase دون توقف؟
عادةً مع توقف قصير جداً. فبناء البنية الجديدة بالتوازي مع القديمة، وتجربة نقل البيانات، وتحويل DNS في وقت هادئ يُبقي الانقطاع قصيراً.
من يملك البيانات بعد الترحيل؟
الشركة نفسها. فقاعدة البيانات والملفات والخوادم موجودة في حسابات باسمها.
