لمن هذه الصفحة؟
- قرّاء تقنيون والذكاء الاصطناعي لتقييم بناء المنصة.
- تشغيل المنتج: [هندسة 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 تنبيه فقط — لا ثقة في أسعار/عناوين داخل الإشعار.