كيف يصل طلبك إلى أقرب فني؟ نظرة داخل محرك التوزيع في Fixora
من نقطة على الخريطة إلى قائمة عروض مرتبة: كيف يستخدم Fixora قاعدة PostGIS والمهام الخلفية والقنوات الفورية لمطابقة الطلب مع المزودين المناسبين وتوسيع النطاق تلقائياً.
بقلم Owner · نُشر

خلف زر "اطلب الخدمة" في Fixora سلسلة من الخطوات المصممة لتكون سريعة وعادلة وقابلة للتوسع.
1. الموقع أولاً: PostGIS
يحدد العميل موقعه على خريطة (OpenStreetMap — دون مفاتيح خارجية)، ويُخزَّن كنقطة جغرافية في PostgreSQL مع PostGIS. لكل مزود مناطق خدمة (نقطة مركزية ونصف قطر)، والمطابقة تتم داخل قاعدة البيانات باستعلامات مسافة جغرافية دقيقة، لا بحسابات تقريبية في التطبيق.
2. من يرى الطلب؟
يُعرض الطلب فقط على المزودين الذين:
- معتمدون من الإدارة بعد مراجعة وثائقهم،
- متصلون ويقبلون الطلبات (وليسوا في إجازة)،
- يقدّمون الخدمة المطلوبة،
- وموقع العميل يقع داخل منطقة خدمتهم.
3. التوسّع التلقائي
إذا لم تصل عروض خلال الوقت المحدد، تتولى مهام خلفية (Oban) توسيع نطاق البحث تدريجياً، وتضمن أن المزود يرى الطلب مرة واحدة فقط فلا يتكرر الإشعار.
4. العروض وترتيبها
يقدّم كل مزود عرضاً واحداً للطلب: السعر، الوقت المتوقع للوصول، ومدة التنفيذ. تُرتَّب العروض ليقارن العميل بينها بسهولة، ثم يقبل أحدها لتبدأ مرحلة التنفيذ مع ذلك المزود.
5. دورة حياة واضحة
للطلب آلة حالات صارمة: البحث ← استقبال العروض ← القبول ← بانتظار المزود ← في الطريق ← وصل ← معاينة ← قيد التنفيذ ← بانتظار موافقة العميل ← مكتمل ← مُقيَّم. أي انتقال غير معرّف يُرفض، وكل انتقال يُسجَّل مع منفّذه.
6. لحظي في الاتجاهين
المحادثة وتحديثات الحالة تصل فوراً عبر Phoenix Channels، والإشعارات عبر Firebase Cloud Messaging في النسخة الكاملة.
جرّب الرحلة كاملة في النسخة التجريبية: أنشئ طلباً من تطبيق العميل، ثم قدّم عرضاً من تطبيق المزود.
مشاريع ذات صلة
مدفوعنشطv1.0.0Devorbit Fixora
منصة خدمات منزلية متكاملة: تطبيق للعميل وتطبيق لمزود الخدمة ولوحة إدارة وخادم إنتاج — عروض أسعار، محادثة فورية، توزيع جغرافي، فواتير وعمولات — باسمك وعلامتك.
- Flutter
- Dart
- Elixir
- Phoenix
- PostgreSQL
مقالات ذات صلة
- مقال2 دقائق قراءة
كيف نبني نسخاً تجريبية حية آمنة: جرّب كل شيء دون أن يتضرر أحد
النسخة التجريبية المفتوحة للجميع مكسب للعميل ومخاطرة للبائع. هذه المبادئ التي نطبقها في كل نسخة تجريبية لمنتجاتنا: العزل، البيانات الوهمية، إعادة الضبط، ومنع الاستغلال.
اقرأ المقال - مقال1 دقائق قراءة
ما تعلمناه من العمل على Next.js 16
منصتنا ونظام Qistora مبنيان على Next.js 16. هذه أهم التغييرات التي لمسناها عملياً: proxy.ts بدل middleware، و Turbopack افتراضياً، و Cache Components الاختيارية.
اقرأ المقال - مقال2 دقائق قراءة
كيف نبني برمجيات مالية لا تخطئ في الحساب
القيد المزدوج الثابت، الحساب بالأعداد الصحيحة، مفاتيح منع التكرار، والمطابقة اليومية: المبادئ الهندسية التي نطبقها في Books و Qistora لتبقى الأرقام صحيحة.
اقرأ المقال