لمن هذه الصفحة؟

  • قرّاء تقنيون والذكاء الاصطناعي لتقييم بناء المنصة.
  • تشغيل المنتج: [هندسة UMS](/docs/ar/partners/ums-architecture/) و[خريطة التطبيق](/docs/ar/app-navigation/).
  • ننشر قرارات معمارية لا أسرارًا ولا قوائم واجهات داخلية.

المكدس التقني

  • العميل: Flutter (ويب · iOS · Android) مع Riverpod (annotations + codegen).
  • الحالة الدائمة: Firestore · القواعد: Cloud Functions · البحث: Typesense.
  • غير متزامن: Pub/Sub · الوقت/SLA: Cloud Tasks · حضور + insight: Redis · التنبيه: FCM فقط.

الطبقات (عقد ثابت)

  • Functions = قواعد · Firestore = حقيقة (دفتر append-only) · Pub/Sub = آثار · Tasks = مواعيد · Redis = عابر + insight · Typesense = اكتشاف · FCM = إيقاظ · ليلي = تجميع المنصة.

UMS — قرارات

  • المجموعة = مخطط · المتجر = عرض حي · Sync Items ليس تلقائيًا.
  • مزامنة عبر Pub/Sub صريح (بدون triggers) · دفعات Typesense · إعدادات الطابعة خارج الفهرس.

OMS — قرارات

  • كتابة الخادم فقط · تسعير الخادم · إنشاء idempotent · كاتب حالة واحد.
  • SLA عبر Cloud Tasks + تحقق كسول + مسح · settlement عند completed فقط.

المالية COD — قرارات

  • دفتر قيد مزدوج append-only = مصدر الحقيقة · سنتات · تسوية عند الإكمال.
  • المتجر: Pub/Sub مرتّب لكل حساب متجر + معاملة Firestore (متشائم).
  • السائق: لا ordering key (طلب نشط واحد).
  • لا عدّادات عالمية ساخنة — قيود الدفتر فورًا · تجميع ليلي للأرصدة/اليوم.
  • Redis للرؤية اللحظية · اللقطات الليلية للرسمي المغلق.

الأسطول والتنافس

  • الملف في Firestore · الحضور في Redis TTL · حجز ذرّي قبل العرض (طلب واحد).
  • متشائم على محافظ المتاجر · معاملات · idempotency · ordering للمتاجر فقط · تجنّب العدادات العالمية · دفعة ليلية.

Typesense و FCM

  • Typesense للاكتشاف وليس لسجل الطلبات · نشر صريح بعد الكتابة.
  • FCM تنبيه فقط — لا ثقة في أسعار/عناوين داخل الإشعار.

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