نظرة عامة

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

جولة توضيحية

2 مقاطع قصيرة عن المنتج — اسحب أو استخدم الأسهم للتنقل بينها.

01 / 0230-Second Overview

التحدي

تتقاضى الأسواق المعتادة المبلغ أولًا ثم تُطابق المخزون لاحقًا، وهو ما يُنتج في سلسلة توريد قطع مُجزّأة طلبات خاطئة وإلغاءات واستردادات. وكان المتطلّب المُميِّز لـ Makkenha أن يعكس ذلك: يبحث العميل ويبني سلّته ويقدّم طلبًا بوصفه طلب استفسار فحسب — فلا ينتقل أي مال قبل أن يؤكّد المورّد أن القطعة المطلوبة بعينها متوفّرة فعليًا في المخزون. وتتردّد آثار قاعدة العمل الواحدة هذه في النظام كلّه: فهي تستلزم دورة حياة طلب ذات حالات مع اتفاقيات مستوى خدمة للتأكيد، ولقطات للأسعار والتكاليف تُؤخذ في اللحظات الصحيحة، وعزلًا للمورّدين متعدّد المستأجرين، وطبقة دفع لا تنشط إلا حين يصير الطلب قابلًا للدفع فعلًا، ونظام تخطيط موارد بوصفه المصدر المرجعي للمخزون. ويعلو ذلك كلّه واقع السوق السعودي: تجربة استخدام ثنائية اللغة بالاتجاه من اليمين إلى اليسار، وتسجيل دخول برمز OTP عبر الجوال، ووسائل دفع محلية (mada وSTC Pay وApple Pay)، وWhatsApp قناةً من الدرجة الأولى، وفكّ ترميز VIN يعمل مع العلامات الصينية التي بالكاد تغطّيها مجموعات البيانات المجانية.

تصميم النظام

كيف يعمل

01/04
01

دورة حياة الطلب بالدفع بعد تأكيد التوفّر

مسار البيع الأساسي: يبدأ الطلب طلبًا غير قابل للدفع، ولا يصير قابلًا للدفع إلا بعد أن يؤكّد المورّد التوفّر، ثم يتبع ذلك الدفع ودفع الطلب إلى نظام تخطيط الموارد.

  1. 1يُنشئ العميل سلّة ويقدّم طلبًا، فتُلتقط أسعار البنود ويُنشأ طلب غير قابل للدفع
  2. 2يُسنِد الفريق عروض المورّدين لكل بند ويُصدر طلبات تأكيد التوفّر، لكلٍّ منها اتفاقية مستوى خدمة مدّتها 24 ساعة
  3. 3يستجيب المورّدون لكل بند عبر البوّابة، ومهمّة Celery beat تتعقّب التأكيدات المتأخّرة
  4. 4تُقدّم evaluate_order_after_confirmation آلة الحالات فيصبح الطلب قابلًا للدفع
  5. 5تُصدر create_payment_for_order رابط دفع عبر Moyasar/Tap/Stripe وتُشعر العميل
  6. 6يُعلّم webhook بوّابة الدفع الطلب بحالة PAID، فتنطلق الإشعارات ويُدفع الطلب إلى Odoo
02

البحث عن القطع عبر VIN وبيانات المركبة

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

  1. 1يُدخل العميل رقم VIN أو يختار العلامة والطراز والجيل والمحرّك
  2. 2يفكّ النظام الخلفي ترميز VIN عبر NHTSA vPIC، ويعود إلى 17vin للعلامات الصينية، ثم يُخزّن النتيجة مؤقتًا
  3. 3تُترجَم المواصفات المفكوكة إلى سجل VehicleModel، وتُرشّح سجلات PartFitment الكتالوج إلى القطع التي تلائم المركبة فعلًا
03

مساعد ذكاء اصطناعي وكيلي لقطع الغيار

مساعد قابل لتبديل المزوّد يستدعي الأدوات ويجيب عن أسئلة القطع اعتمادًا على حقائق الكتالوج وحدها، مدعومًا باسترجاع قائم على التضمينات.

  1. 1يدخل سؤال العميل في حلقة استدعاء أدوات مع النموذج اللغوي المُهيّأ
  2. 2يبحث الوكيل في الكتالوج ويفكّ ترميز أرقام VIN ويتحقّق من الملاءمة عبر أدوات لا تُرجع سوى حقائق الكتالوج
  3. 3يسترجع RAG القطع المرشّحة بتشابه جيب التمام على التضمينات المخزّنة، ويردّ المساعد بلغة العميل مع قطع مقترحة
04

مزامنة مخزون المورّدين عبر Odoo

تُبقي التوفّر متزامنًا مع نظام تخطيط الموارد بوصفه المصدر المرجعي، مع دعم المورّدين الذين لا يملكون نظام تخطيط موارد.

  1. 1يحتفظ Odoo بالكميات المتاحة المرجعية لمورّد المستودع الداخلي
  2. 2يقرأ أمر إداري مستويات الكميات المتاحة عبر XML-RPC ويعكسها في عروض ذلك المورّد
  3. 3أمّا المورّدون الذين لا يستخدمون Odoo فيُحدّثون التوفّر مباشرة عبر البوّابة أو باستيراد جماعي من Excel

أبرز الميزات

  • نموذج طلب بالدفع بعد التأكيد، مع آلة حالات صريحة للطلب تقوم على اللقطات
  • متجر ثنائي اللغة عربي أولًا / إنجليزي، بدعم كامل للاتجاه من اليمين إلى اليسار، وبيانات وصفية مُوطَّنة وتحسين لمحرّكات البحث عبر JSON-LD
  • تسجيل دخول للعملاء برمز OTP دون كلمة مرور، مع حفظ رموز JWT في ملفات تعريف ارتباط httpOnly عبر وسيط BFF
  • عزل للمورّدين متعدّد المستأجرين، مع مؤشّرات صلاحيات لكل عضوية وحماية لسعر التكلفة
  • فكّ ترميز VIN ومطابقة ملاءمة القطع للمركبات، مضبوطان للسيارات الصينية والكورية
  • مساعد ذكاء اصطناعي لقطع الغيار قابل لتبديل المزوّد، باستدعاء الأدوات واسترجاع قائم على التضمينات
  • مدفوعات عبر بوّابات متعدّدة (mada وSTC Pay وApple Pay والبطاقات) من خلال مسار webhook موحّد
  • روبوت محادثة على WhatsApp، إضافة إلى إشعارات المعاملات ومزامنة المخزون مع Odoo ERP

Outcomes

  • تسليم منصّة متماسكة من ثلاثة تطبيقات، بعقد snake_case يصمد حرفيًا من طرف إلى طرف، ما يُغني عن أي طبقة ترجمة على مستوى النقل
  • ترميز قاعدة الدفع بعد التأكيد في آلة حالات مُنعكسة على الطرفين، مدعومة بلقطات السعر والتكلفة واتفاقيات مستوى خدمة للتأكيد لكل بند، مع إبقاء الدفع مشروطًا بقابلية دفع حقيقية
  • بناء مصادقة آمنة للعملاء (رمز OTP مع رموز JWT في ملفات تعريف ارتباط httpOnly خلف وسيط BFF) مع تحديد نطاق متعدّد المستأجرين للمورّدين، يُبقي الرموز بعيدة عن جهة العميل وبيانات التكلفة بعيدة عن كتابات المورّدين
  • وضع المنظومة متعدّدة الخدمات بالكامل في حاويات (Django/Daphne وPostgreSQL وRedis وCelery وOdoo وOllama) خلف nginx، مع تكاملات دفع وتخطيط موارد وذكاء اصطناعي قابلة للتبديل

أعمال أخرى

Mashoor preview
سوق متعدّد البائعين

Mashoor

سوق متعدّد البائعين ثنائي اللغة وجاهز للاتجاه من اليمين إلى اليسار، لمنتجات باكستان الإقليمية المميّزة

عرض المشروع
HG NorthCrafts preview
التجارة الإلكترونية

HG NorthCrafts

متجر للمنتجات المصنوعة يدويًا، صُمّم ونُشر سحابيًا من البداية إلى النهاية

عرض المشروع