CompertMe

دراسة حالة 08 · مواقع تجزئة للمستهلكين · بناء وتوسيع وصيانة

ثلاث علامات تجارية للمستهلكين، ومحرّك مواقع واحد، وكتالوج يواصل العمل حين يفقد الهاتف الإشارة

لأن أهم لحظة هي وقوف العميل داخل المتجر، وهاتفه لا يلتقط سوى شَرطة إشارة واحدة.

بقلم Hesham Ghoniem، المهندس الرئيسي ·

القطاع
مواقع تجزئة للمستهلكين · علامات تجارية متعددة
طبيعة التعاون
بناء وتوسيع وصيانة
نطاق العمل
محرّك واجهات متاجر للجمهور · ثلاث علامات تجارية · تطبيق قابل للتثبيت · الظهور في محركات البحث
التقنيات المستخدمة
PHP
FastRoute
MySQL
Progressive Web App
Vanilla JavaScript
  • 8 — ملفات تختلف بين علامتين تعملان فعليًا، من أصل 60
  • 3 — علامات تجارية تعمل بمحرّك واحد
  • 22 — إعدادًا لتحديد هوية علامة تجارية كاملة
  • 671 — ملفًا محفوظًا في التخزين المؤقت ليعمل الكتالوج دون اتصال
  • 379 — صفحة نشرناها لمحركات البحث

نظرة عامة

احتاجت ثلاث علامات تجارية إلى موقع لكل منها. فبنينا محرّكًا واحدًا.

احتاجت مجموعة تجزئة تملك عدة علامات تجارية إلى موقع متكامل لكل علامة. لكل منها اسمها ومدينتها ومستوى أسعارها وشعارها الدعائي وشخصيتها، لكنها جميعًا تؤدي المهمة نفسها: عرض المخزون المتاح حاليًا، ومساعدة الزائر على الاختيار، وتشجيعه على زيارة المتجر.

كان بناء 3 مواقع سيحل المشكلة عند طرحها، لكنه سيخلق مشكلة دائمة. فوجود 3 نسخ مستقلة من الكود يعني تكرار كل إصلاح 3 مرات، طوال عمر المواقع.

بنينا محرّكًا واحدًا، وجمعنا ما يحدد كل علامة تجارية في ملف إعدادات. يكفي تحديد 22 قيمة، منها الاسم والعنوان والهاتف والسعر الابتدائي والشعار الدعائي والولاية وحسابات التواصل وشريك التمويل والمظهر، ليخدم المحرّك نفسه علامة مختلفة تمامًا. وبين العلامتين اللتين تعملان فعليًا، يتطابق 52 ملفًا برمجيًا من أصل 60 ملفًا، بايتًا ببايت، أي 87% من المحرّك. وتقتصر الفروق على 8 ملفات، يعكس كل منها اختلافًا حقيقيًا ومقصودًا بين العلامتين، لا اختلافًا تراكم بين نسخ مكررة.

التحديات

خمس مشكلات، أولها تكلفة الموقع الثالث.

ثلاثة مواقع تعني ثلاثة أضعاف الصيانة طوال عمرها

سواء كان التغيير ميزة جديدة أو إخلاء مسؤولية قانونيًا أو إصلاحًا أمنيًا، فسيتطلب تنفيذه واختباره 3 مرات، مع 3 فرص للخطأ. ولا تقتصر تكلفة الموقع الثالث على بنائه، بل تشمل صيانته طوال 5 سنوات.

وتتراكم التكلفة دون أن يلاحظ أحد. تبدأ النسخ الثلاث بالاختلاف، وبعد عام لا يستطيع أحد تحديد الفروق بينها بثقة.

حدث ذلك بالفعل لدى العميل نفسه: اختلفت نسختان من البرنامج نفسه في أنظمة الإدارة الداخلية حتى شملت الفروق 160 ملفًا. وتروي دراسة حالة مستقلة هذه القصة.

دراسة حالة ذات صلة: منصة إدارة عمليات متاجر التجزئة متعددة الفروع

اختلاف العلامات التجارية حقيقي ويجب الحفاظ عليه

أسماء وعناوين وأرقام هواتف وأسعار ابتدائية وشعارات دعائية وحسابات تواصل ومظاهر لونية وجهات تمويل مختلفة، فضلًا عن مناطق تخضع لقوانين مختلفة وصياغات قانونية مختلفة.

لا قيمة لمحرّك مشترك يفرض على جميع العلامات المظهر والنصوص نفسها؛ فلكل علامة كيان مستقل لأن العلامات لا تحل إحداها محل الأخرى. كان على المحرّك أن يستوعب هذه الاختلافات الحقيقية دون إنشاء نسخة مستقلة من الكود لكل علامة.

أهم لحظة لاتخاذ قرار الشراء تحدث مع أضعف اتصال

تكون نية الشراء في أقوى حالاتها حين يقف العميل داخل المتجر أو في موقف السيارات خارجه، وينظر إلى هاتفه ليتخذ قراره. والإشارة ضعيفة داخل المتاجر. في هذه اللحظة قد تتم الصفقة أو تضيع.

إذا تعثّر الموقع في هذه اللحظة تحديدًا، فقد أخفق في اللحظة الوحيدة التي كانت حاسمة حقًا.

المخزون يتغير كل ساعة، ويجب أن يعكس الموقع الواقع دائمًا

كل حيوان معروض يمثّل عنصرًا واحدًا في المخزون؛ فإذا بيع لم يعد متاحًا. واستمرار عرضه على الموقع يعني مكالمة غاضبة وخسارة عميل.

تحتفظ المواقع التقليدية بنسخة خاصة من الكتالوج وتحدّثها في مواعيد محددة، فتصبح بعض بياناتها غير صحيحة بين تحديث وآخر.

حين يبيع النشاط مخزونًا لا تتكرر عناصره، لا يمكن قبول بقاء بيانات الموقع خاطئة خلال الـ 15 دقيقة التالية.

العملاء لا يختارون باسم المنتج

لا يبدأ من يبحث عن حيوان أليف للأسرة بكتابة اسم سلالة. بل يأتي بمتطلبات محددة: أحد أفراد المنزل لديه حساسية، أو يسكن في شقة، أو يقتني حيوانًا للمرة الأولى، أو يسافر كثيرًا.

كان يجب أن يتيح الكتالوج التصفح بحسب هذه المتطلبات والجمع بينها، وأن يقدّم بديلًا مناسبًا حين لا يجد ما يطابقها؛ فالصفحة الفارغة تنهي الزيارة.

تطبيق قابل للتثبيت · 671 ملفًا على الهاتف

كتالوج يعمل دون إشارة

تحتاج معظم المواقع إلى الإنترنت. هذا افتراض أساسي إلى حد أننا نادرًا ما نذكره، لكنه لا يتحقق في اللحظة التي يحتاج فيها هذا النشاط إلى تحققه أكثر من أي وقت آخر.

لذلك بنينا واجهة متجر كل علامة بوصفها تطبيقًا قابلًا للتثبيت. يستطيع العميل إضافتها إلى الشاشة الرئيسية لهاتفه، فتظهر باسم وأيقونة مثل أي تطبيق آخر. ولا يحتاج إلى تنزيل شيء من متجر تطبيقات أو الحصول على موافقة.

ثم يستعد الموقع لانقطاع الإشارة. قبل أن يحتاج العميل إلى ذلك، ينسخ الموقع في الخلفية 671 ملفًا إلى مساحة التخزين في الهاتف: جميع صور الفئات، والأيقونات، وأوراق الأنماط، والسكربتات، والخطوط، والصفحات الأساسية للكتالوج.

بحلول الصفحة الثانية أو الثالثة، يصبح محتوى المتجر محفوظًا على الهاتف. يدخل العميل إلى المتجر، ويفقد الإشارة تمامًا، ويواصل التصفح.

إشارة كاملة، شَرطة واحدة، دون إشارة

ثلاثة إطارات لهواتف جنبًا إلى جنب: إشارة كاملة، ثم شَرطة واحدة، ثم انعدام الإشارة. يعرض كل هاتف صفحة الكتالوج نفسها مع مؤشر بأنها تعمل، ولا يظهر أي تراجع في العرض الثالث. وتحت الهاتف الثالث: 671 ملفًا محفوظًا على الجهاز بالفعل.

قرارات التصميم التي أتاحت ذلك كانت كلها رفضًا لخيارات أخرى

  • استبعدنا أطر العمل الثقيلة. تعتمد الواجهة الأمامية كلها على JavaScript دون إطار عمل. قد يخالف هذا التوجه الشائع، لكنه القرار الصحيح هنا: فإطار العمل يضيف مئات الكيلوبايت التي يجب تنزيلها عبر الاتصال نفسه الذي افترضنا انقطاعه، على هاتف قد يبلغ عمره 5 سنوات.
  • تخزين مؤقت بإصدارات محددة. يستبدل الإصدار الجديد النسخة المحفوظة بصورة سليمة، فلا يظل العميل عالقًا على إصدار قديم إلى أجل غير معلوم؛ وهي المشكلة التي تسيء إلى سمعة التطبيقات التي تعمل دون اتصال. وفي الكود الذي راجعناه، تستخدم واجهة المتجر الإصدار 2.7 من حزمة الملفات المخزّنة مؤقتًا.
  • نحدد مسبقًا ما نحفظه في التخزين المؤقت. نختار بعناية قائمة محددة من الملفات والصفحات التي يجب أن تبقى متاحة بعد انقطاع الاتصال، بدل الاكتفاء بما تصادف أن زاره المستخدم.

يحتاج الموقع إلى الاتصال مرة واحدة مبكرًا، بينما لا يزال متاحًا للعميل، ثم يستغني عنه.

— Hesham Ghoniem، المهندس الرئيسي

ما بنيناه

ستة فصول، من هوية علامة تجارية في ملف إعدادات واحد إلى موقع يعكس بيانات المتجر دون تأخير.

الفصل الأول · إعداد المواقع بالعلامات التجارية للشركاء

ملف إعدادات يحدد هوية العلامة التجارية

جمعنا كل ما يخص العلامة في ملف واحد يضم 22 قيمة: الاسم، والعنوان، ورقم الهاتف، والبريد الإلكتروني، والسعر الابتدائي، والشعار الدعائي، والولاية، وحسابات التواصل، ورابط شريك التمويل، ونص تذييل الصفحة، ورابط نظام الموظفين، والمظهر المطلوب تحميله.

بتغيير هذه القيم الـ 22، إلى جانب إعدادات قاعدة البيانات الموجودة أسفلها، يخدم المحرّك نفسه علامة أخرى. ولا تتطلب إضافة علامة تجارية أن ينسخ المطوّر مجلدًا.

ملف إعدادات واحد، وثلاث واجهات متاجر

ملف إعدادات واحد يضم 22 قيمة، وتتفرع منه ثلاثة أسهم نحو ثلاث واجهات مختلفة: الأولى باسمها ومدينتها وألوانها، والثانية باسمها وسعرها وشريك التمويل الخاص بها، والثالثة بلا هوية تجارية وتعرض مظهرين لونيين جنبًا إلى جنب. والمحرّك نفسه يخدم الثلاث.

المحرّك نفسه.

الفصل الثاني · الأرقام تثبت النتيجة

قياس الفروق يثبت ما هو مشترك

يسهل القول إن النظام يخدم الشركاء بعلاماتهم التجارية، ويسهل أيضًا أن يفقد هذه الخاصية دون أن يلاحظ أحد. لذا نوضح بدقة ما نعنيه هنا بالأجزاء المشتركة.

يضم المحرّك عبر العلامتين اللتين تعملان فعليًا 60 ملفًا برمجيًا، تختلف 8 منها. ويعكس كل ملف من الملفات الـ 8 فرقًا حقيقيًا بين العلامتين: صفحة هبوط تستهدف منطقة معينة لإحداهما، وصفحة ترويجية للأخرى، وفروق صغيرة في معالجة طلبات التواصل وتصفية الكتالوج.

يتطابق 52 ملفًا من أصل 60 ملفًا، بايتًا ببايت: أي 87% من جميع الملفات، و93% من الملفات الموجودة في كلتا العلامتين. لذلك يصل الإصلاح الذي نكتبه مرة واحدة إلى الموقعين بالفعل.

الفصل الثالث · نسخة لا تتبع أي علامة تجارية

علامة ثالثة نختبر بها صحة ما نقوله

تشغّل المجموعة أيضًا نسخة محايدة من المحرّك نفسه، بلا هوية تجارية أو محتوى فعلي. وهي قالب يعرض مظهرين لونيين جنبًا إلى جنب.

تضمن هذه النسخة أن تبدأ كل علامة جديدة من أساس خالٍ من أي هوية سابقة، وأن يظهر فورًا أي افتراض خاص بعلامة تسرّب إلى المحرّك المشترك. وهكذا نتحقق باستمرار من صلاحية المنصة للعمل بالعلامات التجارية للشركاء، بدل الاكتفاء بالقول إنها تتيح ذلك.

الفصل الرابع · مرجع أساسي واحد للبيانات

الموقع لا يحتفظ بنسخة خاصة من المخزون

هذا أبسط القرارات المتعلقة ببنية النظام وأهمها في هذه الدراسة، وهو عكس ما تبنيه معظم الوكالات.

الموقع المتاح للجمهور ونظام الإدارة الداخلية للمتجر يستخدمان قاعدة بيانات واحدة. لا يستورد الموقع الكتالوج ولا يزامنه ولا يحدّثه على فترات محددة؛ بل يقرأ السجلات نفسها التي يعدّلها الموظفون، ويعرض الصور من مساحة التخزين نفسها التي يرفعونها إليها.

بمجرد أن يسجّل موظف بيع حيوان، يعكس الموقع ذلك فورًا، دون انتظار 15 دقيقة. فلا توجد مزامنة تتأخر، أو عملية استيراد تتعطل ليلًا، أو فترة يواصل فيها الموقع عرض حيوان لم يعد متاحًا.

الفصل الخامس · تصفح لا ينتهي بطريق مسدود

تصفح بحسب الاحتياجات، دون الوصول إلى طريق مسدود

يستطيع العميل تصفح الكتالوج وفق ما يهمه فعلًا، والجمع بين الخيارات بحرية: الملاءمة لمن لديهم حساسية، والسكن في شقة، واقتناء حيوان للمرة الأولى، وملاءمة الحيوان للسفر، والأسر النشيطة، والحجم، والسلالة الأصيلة أو المختلطة.

يكفي أن تطابق النتيجة «أيًا من الخيارات» داخل الفئة الواحدة، ويجب أن تطابق «جميع الفئات» المختارة معًا؛ وهو السلوك الذي يتوقعه المستخدم تلقائيًا. وإذا لم تطابق أي نتيجة الخيارات مجتمعة، فإن الكتالوج يوسّع نطاق البحث بدل عرض صفحة فارغة. فالنتيجة الفارغة تعني نهاية الزيارة.

الفصل السادس · الظهور في محركات البحث

العمل الروتيني الذي يجلب الزوار

بيانات منظّمة لمحركات البحث تصف كل متجر بوصفه نشاطًا له مقر فعلي وعنوان بريدي وإحداثيات على الخريطة ومواعيد عمل. وفهرس نحدّثه يدويًا يضم 379 صفحة. وبيانات لمسار التنقل توضح مكان كل صفحة ضمن الموقع. وقائمة محددة بالأسماء لمحركات البحث ومنصات التواصل المسموح لها بقراءة الموقع، بدل قاعدة عامة. وصفحات هبوط تستهدف مناطق بعينها لتظهر في عمليات البحث المحلية.

شرح تقني مفصّل · مقارنة 60 ملفًا

داخل الملفات الثمانية المختلفة

لا تصمد معظم الادعاءات بإتاحة النظام بالعلامات التجارية للشركاء عند مقارنة الملفات. هنا أجرينا القياس، وكانت النتيجة واضحة على نحو نادر؛ لذا نعرض الفروق الـ 8 بالتفصيل.

60 ملفًا للمحرّك، وعلامتان تعملان فعليًا

شبكة من 60 مربعًا صغيرًا. منها 52 بلون واحد تحمل دلالة التطابق، وثمانية مميزة بلون آخر ويحمل كل منها تسمية قصيرة: صفحة ترويجية، ومحمّل بيانات، وقائمة أسماء الفئات، وصفحة هبوط لمنطقة، وتصفية الكتالوج، وصفحة المعروضات، وتقسيم النتائج إلى صفحات، والتواصل.

  • 3 ملفات تخص علامة واحدة فقط — صفحة هبوط ترويجية، ومحمّل البيانات الخاص بها، وقائمة مساندة بأسماء الفئات. ولا يوجد ما يقابلها لدى العلامة الأخرى.
  • 1 ملف يخص العلامة الأخرى فقط — صفحة هبوط تستهدف منطقة بعينها، ليجدها من يبحث عن حيوانات متاحة للبيع في تلك المنطقة.
  • 4 ملفات تختلف في المحتوى — تصفية الكتالوج، وصفحة جميع المعروضات، وتقسيم النتائج إلى صفحات، وصفحة التواصل. ويختلف كل منها في طريقة عرض المخزون أو توجيه الاستفسارات.

هذه هي القائمة كاملة.

أما بقية الأجزاء، من توجيه المسارات ومنطق الكتالوج وصفحات التفاصيل واستقبال الاستفسارات واقتراحات البحث والتخزين المؤقت للعمل دون اتصال والقوالب ومعالجة الأمان، فتستخدم جميعها الكود المشترك نفسه.

أثر ذلك على العمل في جملة واحدة: حين نحتاج إلى تعديل، نعرف يقينًا ما إذا كان سيؤثر في علامة واحدة أم في العلامات الـ 3، لأن الإجابة موثّقة في قائمة الملفات، ولا تعتمد على ذاكرة أحد.

توضيح حدود المشاركة

هذا توضيح يستحق مكانه هنا، لا في الهامش. تختلف قوالب العرض اختلافًا كبيرًا بين العلامات؛ فهي تضم نصوص كل علامة وصورها وتخطيط صفحاتها. وهذا مقصود وصحيح؛ فهنا تظهر شخصية العلامة التجارية، وهذه تحديدًا الأجزاء التي ينبغي أن تستقل بها.

لذلك فالوصف الدقيق هو «محرّك مشترك وعرض خاص بكل علامة تجارية»، وليس «الموقع نفسه مع شعار جديد».

المحرّك مشترك، ولكل علامة واجهتها. هذا هو المنتج، وهو الشكل الوحيد لخدمة الشركاء بعلاماتهم التجارية الذي يصمد أمام اختلاف العلامات في الواقع.

— Hesham Ghoniem، المهندس الرئيسي

كيف نعمل

ثماني قواعد، نصفها يرفض خيارات بعينها.

ابدأ بناء الموقع الثاني قبل إكمال الأول

أسرع طريقة لمعرفة ما يخص كل علامة فعلًا هي تجربة بناء الثانية مبكرًا، حين تظل تكلفة التعديل منخفضة. أما الانتظار حتى اكتمال الأولى، فيعني اكتشاف خطأ في تحديد الأجزاء المشتركة حين تكون تكلفة تصحيحه في أعلى مستوياتها.

اجعل كل اختلاف إعدادًا مستقلًا، دون نسخ الملفات

كانت القاعدة واضحة بلا استثناء: إذا احتاجت علامة إلى شيء مختلف، نضيف قيمة إلى الإعدادات. وبمجرد أن نختار نسخ الملف وتعديله، تعود المنصة إلى 3 مواقع مستقلة دون أن ننتبه.

احتفظ دائمًا بنسخة بلا هوية تجارية

تكشف النسخة المحايدة التي لا تتبع أي علامة فورًا عن أي افتراضات خاصة بعلامة تسرّبت إلى الكود المشترك. وصيانتها قليلة التكلفة، وهي وحدها ما يضمن استمرار صلاحية النظام للعمل بالعلامات التجارية للشركاء على مدى سنوات.

افترض انقطاع الاتصال

حددنا مبكرًا الصفحات التي يجب أن تعمل دون إشارة، فشكّل هذا القرار الواجهة الأمامية كلها، بما في ذلك الاستغناء عن أطر العمل تمامًا. كان العمل دون اتصال متطلبًا أساسيًا، لا ميزة أضفناها لاحقًا.

ارفض التقنية الشائعة حين لا تناسب هاتف المستخدم

على هاتف عمره 5 سنوات داخل مبنى لا تصله سوى شَرطة إشارة واحدة، تتفوق JavaScript دون إطار عمل على إطار عمل حديث يحتاج الهاتف إلى تنزيله أولًا.

اقرأ البيانات مباشرة بدل نسخها

يستخدم الموقع قاعدة بيانات المتجر نفسها بدل استيراد البيانات منها. وبوجود مرجع أساسي واحد للبيانات، نتخلص من فئة كاملة من الأعطال الناتجة عن نسخ غير محدّثة، بدل محاولة إدارتها.

تعامل مع الظهور في محركات البحث بوصفه عملًا هندسيًا

بنينا البيانات المنظّمة وخرائط الموقع وقواعد الزحف وصفحات الهبوط منذ البداية. أما إضافتها لاحقًا فتفرض دائمًا تنازلات بسبب قرارات سبق اتخاذها.

لا تترك العميل أمام طريق مسدود

صفحة النتائج الفارغة تعني خسارة زيارة. لذلك يوسّع الكتالوج نطاق البحث بدل عرضها.

التقنيات المستخدمة

ثماني طبقات، ووظيفة كل منها.

المحرّك

كود واحد يخدم العلامات التجارية الـ 3، مع 44 مسارًا عامًا نشطًا لكل منها.

  • PHP
  • FastRoute

الواجهة الأمامية

دون إطار عمل. سريعة على الهواتف منخفضة التكلفة ومع الإشارة الضعيفة؛ وهو اختيار مقصود، لا قيد تقني.

  • Vanilla JavaScript
  • نظام الشبكة في Bootstrap

العمل دون اتصال

يُثبَّت على الشاشة الرئيسية، ويحفظ 671 ملفًا محددًا في التخزين المؤقت، ويستبدل هذا المحتوى بصورة سليمة مع كل إصدار جديد.

  • Progressive Web App
  • Service Worker بإصدارات محددة

البيانات والصور

يقرأ الموقع السجلات نفسها التي يعدّلها الموظفون، ويعرض مباشرة الصور التي يرفعونها، وهي محسّنة بالفعل. فلا استيراد ولا مزامنة ولا نسخة غير محدّثة.

  • MySQL مشتركة مع نظام الإدارة الداخلية
  • مساحة تخزين مشتركة مع نظام الموظفين
  • التحويل إلى WebP

البحث

يصف كل متجر بوصفه نشاطًا له مقر فعلي وعنوان وإحداثيات ومواعيد عمل.

  • بيانات منظّمة وفق schema.org
  • فهرس يضم 379 صفحة
  • قواعد زحف محددة صراحةً

استكشاف المعروضات

تصفح بحسب الاحتياجات بدل اسم المنتج.

  • اقتراحات أثناء الكتابة
  • التصفية بعدة وسوم

الاستفسارات

يتحوّل استفسار الموقع فورًا إلى عميل محتمل في نظام المتجر نفسه.

  • تسجيل مباشر في سجلات عملاء المتجر

التمويل

تتولى جهة التمويل معالجة الطلبات بالكامل. ولا نتعامل مع البيانات الائتمانية مطلقًا.

  • جهة تمويل خارجية تخضع للرقابة التنظيمية

الاختبارات الآلية

تتحقق الاختبارات الآلية من كل تغيير قبل وصوله إلى بيئة الإنتاج.

هذه هي التقنيات كما وردت في الكود الذي راجعناه، وكان آخر تعديل عليه في مارس 2023.

كيف تعمل المنصة

سبع خطوات، من وصول الزائر إلى تسجيل عميل محتمل في نظام المتجر نفسه.

الخطوة 1

وصول الزائر

يقرأ المحرّك ملف إعدادات العلامة، ويعرض اسمها ومظهرها وبيانات التواصل والسعر الابتدائي وشريك التمويل الخاص بها.

الخطوة 2

بدء التخزين المؤقت للموقع

يحفظ الموقع 671 ملفًا في مساحة تخزين الهاتف في الخلفية، دون أن يلاحظ العميل شيئًا.

الخطوة 3

التصفح بحسب الاحتياجات

الملاءمة لمن لديهم حساسية، والسكن في شقة، واقتناء حيوان للمرة الأولى، وملاءمة الحيوان للسفر، والحجم، وكونه من سلالة أصيلة: يستطيع العميل الجمع بين خيارات التصفية بحرية. وإذا لم تطابق أي نتيجة اختياراته، يوسّع الكتالوج نطاق البحث بدل عرض صفحة فارغة.

الخطوة 4

فتح صفحة حيوان معروض

السجل الكامل: رقم التعريف، وتاريخ الميلاد، واللون، وجميع اللقاحات التي تلقاها الحيوان، وعلاجات الديدان، والفحوص البيطرية، والشهادة الصحية، والضمانات، وخيارات النقل. وهو السجل نفسه الذي يتولى موظفو المتجر تحديثه، وليس ملخصًا تسويقيًا له.

الخطوة 5

انقطاع الإشارة

يواصل الزائر التصفح؛ فالكتالوج محفوظ على الهاتف بالفعل.

الخطوة 6

تقديم طلب أو إرسال استفسار

يوجّه النظام طلب التمويل إلى جهة التمويل الخاصة بالعلامة والخاضعة للرقابة التنظيمية، ويسجّل الاستفسار مباشرة في نظام الإدارة الداخلية للمتجر بوصفه عميلًا محتملًا جديدًا.

الخطوة 7

إضافة حيوان وصل حديثًا

في الوقت نفسه، يضيف الموظفون حيوانًا وصل حديثًا إلى نظام الإدارة الداخلية، فيظهر فورًا على الموقع المتاح للجمهور؛ إذ لا توجد نسخة أخرى تحتاج إلى تحديث.

النتائج

ما تستطيع الشركة إنجازه الآن ولم يكن ممكنًا من قبل.

تشغيل ثلاث علامات تجارية بكود واحد

نكتب الإصلاح مرة واحدة. ويتطابق 52 ملفًا من أصل 60 من ملفات المحرّك بين العلامتين اللتين تعملان فعليًا بايتًا ببايت، والاستثناءات الـ 8 موثّقة مسبقًا ولا نحتاج إلى اكتشافها من جديد.

إطلاق علامة تجارية بضبط الإعدادات

يحدد 22 إعدادًا واجهة المتجر، دون إنشاء نسخة مستقلة من الكود أو نسخ مجلد أو إضافة نسخة جديدة من الكود تتطلب صيانة دائمة.

استمرار التصفح عند انقطاع الإشارة

يمكن تثبيت الكتالوج وتصفحه دون اتصال: داخل المتجر أو في موقف السيارات أو في طابق تحت الأرض.

عدم عرض ما بيع بالفعل

يستخدم الموقع ونظام الإدارة الداخلية قاعدة بيانات واحدة، فلا توجد مزامنة قد تتأخر.

الظهور في البحث المحلي

379 صفحة في فهرس البحث المنشور، وبيانات منظّمة للنشاط تتضمن العنوان والإحداثيات ومواعيد العمل، وصفحات هبوط تستهدف مناطق بعينها.

إتاحة التصفح وفق طريقة تفكير العميل

بحسب احتياجاته، مع الجمع بينها، ودون الوصول إلى طريق مسدود.

تحويل الاستفسار إلى عميل محتمل دون إعادة إدخال البيانات

تُسجَّل استفسارات الموقع مباشرة في سجلات عملاء المتجر.

إبقاء البيانات الائتمانية خارج جميع الأنظمة

نتولى توجيه طلبات التمويل إلى شريك يخضع للرقابة التنظيمية.

التطوير بالأرقام

  • 3 علامات تجارية تعمل بالمحرّك
  • 22 إعدادًا لهوية العلامة يحدد واجهة المتجر
  • 60 ملفًا برمجيًا في المحرّك المشترك
  • 8 ملفات تختلف بين العلامتين اللتين تعملان فعليًا
  • 52 من 60 ملفًا متطابقًا بايتًا ببايت في المحرّك (87%)
  • 44 مسارًا عامًا نشطًا لكل واجهة متجر
  • 671 ملفًا محفوظًا في التخزين المؤقت للعمل دون اتصال
  • 379 صفحة في فهرس البحث المنشور
  • 2.7 إصدار الحزمة المخزّنة مؤقتًا في نسخة الكود التي راجعناها
  • 0 أطر عمل مستخدمة للواجهة الأمامية

حالة النظام بصراحة

الوصف الدقيق: «محرّك مشترك وعرض خاص بكل علامة تجارية». فالمحرّك مشترك، بما يشمل توجيه المسارات ومنطق الكتالوج والتصفية والتخزين المؤقت ومعالجة الاستفسارات، والملفات المختلفة هي 8 من أصل 60 تحديدًا. أما قوالب الصفحات الظاهرة فتختلف كثيرًا بين العلامات عن قصد، لأنها ما يعبّر عن شخصية كل علامة.

هذه نسخة من الكود تعود إلى 2023. كان آخر تعديل على واجهات المتاجر في مارس 2023، وإصدار الحزمة التي تعمل دون اتصال المذكور هنا (2.7) يخص تلك النسخة. ويعمل نظام الإدارة الداخلية القديم الذي تشاركه هذه المواقع قاعدة البيانات بإصدارَي PHP 7.4 وBootstrap 4، وقد انتهى دعمهما منذ وقت طويل. ولا نقدّم هذه التقنيات في الصفحة بوصفها حديثة.

التحديث الفوري نتيجة لبنية النظام، لا لتدفّق تحديثات مباشر. تظل بيانات الموقع محدّثة لأنه يقرأ قاعدة بيانات المتجر نفسها مباشرة، لا لأنه يتلقى إشعارات فورية. يحتوي الكود على إعدادات خدمة مراسلة فورية، لكننا لم نجد دليلًا على ربطها بواجهة المتجر، لذلك لا ندّعي استخدامها فيها.

أعمال ذات صلة

جميع الأعمال

الخطوة التالية

هل تستعد لبناء موقع لعلامتك التجارية التالية؟

اعمل مع فريق تطوير يبني محرّكًا واحدًا بدل إضافة نسخة أخرى من الكود، ويقيس الأجزاء المشتركة فعلًا، ويصمّم للعميل الواقف داخل المتجر وهاتفه لا يلتقط سوى شَرطة إشارة واحدة.

احجز مكالمة استكشافية

لم نذكر اسم العميل · استخرجنا كل رقم من نسخة من الكود كان آخر تعديل عليها في مارس 2023 · أكتوبر 2026