نظرة عامة وفلسفة المنظومة
MAZRAF هي منصة تليماتيكية وإدارة أساطيل سحابية متقدمة من الجيل التالي (Next-Gen Telematics & IoT SaaS)، صُممت بهدف تحقيق مطابقة وظيفية ومعمارية متقدمة مع معايير منصة MAZRAF Platform العالمية، مع دعم كامل ومباشر لكافة أجهزة التتبع السلكية واللاسلكية وبوابات وحساسات إنترنت الأشياء الميدانية.
كفاءة تشغيلية TCO
خفض تكاليف الوقود والصيانة وحساب تكلفة التملك الحقيقية للمركبة.
مطابقة MAZRAF 100%
تطبيق دقيق لكافة المفاهيم: الحساسات، السياجات، التقارير الـ 45، والـ Jobs.
استقبال مباشر للحساسات IoT
استقبال مباشر لإشارات الحساسات اللاسلكية وشبكات LoRa و Wi-Fi وبلوتوث.
المعمارية التقنية والخدمات المصغرة الـ 9 (9 Microservices)
تعمل المنظومة عبر 9 خدمات مستقلة تدار بنظام خدمات ويندوز (Windows Services) وتتواصل عبر ناقل رسائل عالي السرعة (NATS JetStream) مع ذاكرة تخزين مؤقت Microsoft Garnet:
| الخدمة (Service Name) | المنفذ (Port) | التقنية | الوظيفة والمسؤولية التقنية |
|---|---|---|---|
| MAZRAF-Caddy | :80 / :443 | Caddy v2 (Go) | البوابة العكسية، شهادات SSL، وتوجيه مسارات /api/* و /ws |
| MAZRAF-CoreAPI | :4000 | Node.js Express | محرك الأعمال الرئيسي REST API، والتقارير وهرم الصلاحيات و CMS |
| MAZRAF-Processor | Stream | Node.js Engine | معالجة الحزم اللحظية، فحص السياجات الجغرافية، وحفظ TimescaleDB |
| MAZRAF-Realtime | :4100 | WebSocket Server | بث الإحداثيات اللحظية للمتصفح بمعدل 50ms بدون إعادة تحميل |
| MAZRAF-Ingestor | :5027 / :5026 / :5023 | Binary TCP/UDP | استقبال الحزم الثنائية المباشرة من أجهزة Teltonika, Ruptela, Concox |
| MAZRAF-NATS | :4222 | NATS JetStream | ناقل الرسائل الموزع (Message Broker) فائق السرعة بضمان التسليم |
| MAZRAF-Garnet | :6379 | Microsoft Garnet (.NET) | ذاكرة كاش فائقة السرعة لإلغاء تكرار الإشارات وتخزين آخر حالة |
| MAZRAF-Simulator | Worker | Node.js Engine | محاكي رحلات حية واقعية لمركبات تتجول في الرياض وجدة والدمام |
| MAZRAF-Web | :3000 | Express Static Host | خدمة ملفات واجهة المستخدم والتوثيق والشاشات المركزية |
معمارية قاعدة البيانات والبيانات الفائقة (PostgreSQL + TimescaleDB + PostGIS)
تم تصميم قاعدة البيانات على PostgreSQL 17 لضمان أداء لا يتباطأ مع نمو المليارات من نقاط التتبع:
- • accounts (الهيكل والمنشئ)
- • users (المستخدمون و ACL)
- • units (المركبات والأصول)
- • devices (أجهزة IMEI)
- • field_gateways (بوابات الحساسات الميدانية)
- • trash_bin (سلة المحذوفات)
- • cms_audit_logs (سجل التدقيق)
- • points (HYPERTABLE مقسم)
- • unit_last_state (آخر حالة)
- • v_points (عرض السرعة كم/س)
- • sensor_raw_feed
- • geofences (السياجات PostGIS)
- • alerts (سجل التنبيهات)
- • drivers (السائقون و RFID)
- • driver_shifts (الورديات)
- • jobs (مهام الأتمتة Cron)
- • maintenance_work_orders
بروتوكولات أجهزة التتبع ومحركات فك التشفير (Hardware Protocol Decoders)
تدعم منصة مزراف MAZRAF محركات فك تشفير مدمجة مبنية بلغة Go لفك حزم البيانات التليماتيكية اللحظية عبر منافذ مخصصة تدعم التجزئة والتجميع (TCP Framing Buffer):
يدعم بروتوكولات Codec 8 و Codec 8 Extended و Codec 12 للأوامر، مع التحقق الصارم من CRC16 ومصافحة IMEI Handshake. منافذ الاستقبال: :20920 و :20130.
فك تشفير حزم Ruptela الثنائية، قراءات حساسات الوقود وسرعة الدوران، وسجلات التسارع مع تأكيد ACK فوري بعد قبول NATS JetStream. منفذ: :21005.
دعم حزم 0x78 و 0x79 لتسجيل الدخول والموقع، وتنبيهات SOS وفصل البطارية وقراءة شبكة CAN. منفذ: :22002.
بوابة متكاملة لمراقبة سلسلة التبريد والأدوية عبر الحساسات اللاسلكية والبلوتوث وحساسات الحرارة والرطوبة الرقمية. منافذ: :5055 و /Receive.
دليل الواجهات وتبويبات مساحة العمل الـ 22 (All 22 Workspace Tabs)
يوفر النظام شمولية تامة لإدارة كل تفاصيل الأسطول عبر 22 تبويباً متخصصاً:
19 مؤشراً حياً يرصد صحة الأجهزة، دقة HDOP، استهلاك الوقود اليومي، والمحركات المشغلة.
خريطة MapLibre Vector، لوحة وحدات المراقبة (Work Area Dock)، ونافذة HUD اللحظية.
تدرج لوني حسب السرعة، كشف الوقفات، كاميرات Dashcam، وحفظ المسار كسياج خطي.
مفاتيح RFID / iButton، ربط وفصل المركبات زمنياً، مؤشرات Eco-Score، وسجل الورديات.
رسم دوائر، مضلعات، وممرات الطرق، وإدارة المجموعات وتصدير GeoJSON.
كتالوج 41 جدولاً و 14 كائناً، معادلات حسابية متقدمة، وتصدير فوري PDF و Excel.
المستويات الأربعة الهرمية، 19 صلاحية حبيبية، مصفوفة الأدوار، وانتحال الشخصية.
أتمتة العمليات بتعابير Cron، إرسال تقارير دورية، أوامر تلقائية، وسجل التنفيذ.
حصص الوحدات (Quotas)، الأرصدة والحظر، بوابات الاستقبال وشبكات الحساسات، وسلة المحذوفات.
18 مشغلاً، قنوات إشعار متعددة، وتحكم مباشر بقطع المحرك DOUT1 Relay.
نافذة خصائص الوحدة الشاملة (Unit Properties Studio - 11 Subtabs)
تتضمن كل مركبة نافذة إعدادات متقدمة تدير 11 جانباً تشغيلياً: الخصائص العامة، حساسات التناظري والرقمي مع جداول المعايرة، ربط جهاز التتبع بالـ IMEI، كاشف الرحلات والحركة (GPS / Speed / Ignition)، استهلاك ومعايرة خزان الوقود، سلوك القيادة Eco-Driving، فترات الصيانة وعدادات المسافة، الحقول المخصصة، قراءات CAN-Bus، ومراقبة أمان المركبة الشخصية B2C.
استوديو السياجات الجغرافية ومحرك القواعد الـ 18 (Geofences & 18 Alert Rules)
نظام سياجات مدعوم بامتداد PostGIS لرسم السياجات الدائرية والمضلعة والممرات الخطية للطرق السريعة. يرتبط بمحرك تنبيهات لحظي يفحص 18 شرطاً تشغيلياً: تجاوز السرعة المحددة، الدخول والخروج من السياج، التحرك بدون تشغيل المحرك (السحب بالسطحة)، فصل بطارية الجهاز، سرقة الوقود، وقوف المحرك مع تشغيل التكييف (Idling)، وحوادث الاصطدام والتسارع المفاجئ.
استوديو إعادة تشغيل المسارات وفيديو الكاميرات (Tracks Replay & Video Sync)
استوديو تفاعلي يعرض المسارات التاريخية مع تدرج لوني يعكس سرعة المركبة عند كل نقطة، كشف مواقف التوقف ومدة كل وقفة، تشغيل فيديو كاميرات الـ Dashcam المتزامن مع الإحداثيات ثانية بثانية، وإمكانية تصدير المسار بصيغ KML و GeoJSON و Excel.
استوديو إدارة السائقين وقراءات RFID (Drivers Studio & Shift Management)
إدارة هوية السائقين وربطهم التلقائي بالمركبات عند تمرير بطاقة RFID أو مفتاح iButton، احتساب ساعات العمل الفورية (Hours of Service - HOS)، تقييم سلوك القيادة ومعدلات السلامة (Safety Score)، وتطبيق رفيق السائق PWA لإجراء الفحوصات اليومية والتوقيع الإلكتروني.
المهام المجدولة ومحرك الأتمتة (Scheduled Jobs & Cron Automation)
محرك أتمتة يدعم تعابير Cron القياسية لإنشاء وتوليد تقارير الصيانة والتشغيل أسبوعياً وشهرياً، إرسال ملخصات الأسطول عبر البريد الإلكتروني أو الرسائل، تنفيذ الأوامر الدورية للأجهزة، وتصفية البيانات القديمة تلقائياً.
هرم الصلاحيات الشامل (Multi-Tier ACL) وخاصية الدخول كـ (Login-As)
المستويات الهرمية الأربعة (4 Tiers):
مورد المنصة الرئيسي، التحكم بكافة الحسابات والموزعين والحصص.
مجموعات الأساطيل والفروع والشركات الفرعية المشغلة.
المركبات والأجهزة الميدانية وأوامر التحكم بالمحرك والحساسات.
المستخدمون النهائيون، الموارد المشتركة، والأدوار التشغيلية.
تتيح للمدير العام الدخول بنقرة زر واحدة لحساب أي مستخدم فرعي لاستكشاف المشاكل بنفس صلاحياته الدقيقة. يظهر شريط علوي تحذيري برتقالي #impersonationBanner يوضح الحساب المنتحل وزر إنهاء الجلسة الفوري.
إدارة المنظومة CMS وهيكل الحسابات وبوابات استقبال الأجهزة والحساسات
مشروع إداري متكامل ومستقل (Standalone CMS Portal) بهيكل شجري ومراقبة حية لمنافذ استقبال أجهزة التتبع وشبكات الحساسات الميدانية.
تسلسل المنشئين والموزعين، رصيد الحسابات بالريال، ولوحة الفحص.
معالج نقل المركبات بين الحسابات ونقل السجلات التاريخية والحساسات.
انتحال الشخصية والدخول الفوري لنظام التتبع بصلاحيات أي مستخدم.
استقبال مباشر عالي السرعة لبيانات أجهزة التتبع عبر منافذ مخصصة (مثل 20920 لأجهزة Teltonika)، وشبكات حساسات ميدانية مستقلة (بوابات LoRa وحساسات TZone اللاسلكية وبوابات Wi-Fi WF501/WF503 وحساسات Bluetooth BT04) مع معالجة حية بدون وسيط خارجي.
حماية من الحذف النهائي، والاحتفاظ بالكائنات المحذوفة (مركبات، سائقين، حسابات) لمدة 30 يوماً مع إمكانية استرجاعها بنقرة واحدة بكامل إعداداتها وحساساتها الأصلية.
تم تجريد منصة العمليات الميدانية / من أكواد CMS المدمجة السابقة (تخفيض 96.5 كيلوبايت) لتصبح منصة تتبع ومراقبة مستقلة وخفيفة، مع إضافة مبدل المنصات الموحد (App Switcher) في الشريط العلوي لكافة المنصات الأربع (العمليات /، مدير CMS /cms/، الموقع التسويقي /site/، والتوثيق الحي /docs) مع مشاركة الجلسة والمظهر ولغة النظام تلقائياً.
معمارية المنافذ المخصصة لموديلات الأجهزة (Hardware Dedicated Ports) ودليل الـ CMS
منفذ استقبال مستقل لكل موديل جهاز لمنع تداخل الحزم وتسهيل توجيه الجدار الناري
وفقاً لأفضل الممارسات الهندسية لمنصات التليماتكس العالمية، تم إرساء معمارية تخصيص منفذ استقبال مستقل (Dedicated Port) لكل نوع وموديل جهاز تتبع، مما يمنع تداخل الحزم ويوفر سهولة تامة لمهندسي الشبكات وفنيي التركيب الميدانيين مع التعرف التلقائي على قدرات الجهاز والحساسات الافتراضية.
| الشركة المصنعة | الموديل (Hardware Model) | نوع الشبكة | المنفذ المخصص (Port) | البروتوكول | الحساسات الافتراضية التلقائية |
|---|---|---|---|---|---|
| Teltonika | FMC920 | 4G Cat 1 | 20920 | teltonika | إشعال ACC، بطارية V، وقود تناظري AIN1، مستشعر حوادث Crash |
| Teltonika | FMB920 | 2G GSM | 20921 | teltonika | إشعال ACC، بطارية V، وقود تناظري AIN1 |
| Teltonika | FMC130 | 4G Advanced | 20130 | teltonika | 3x DIN، 1-Wire حرارة، مستوى وقود FLS، عداد مسافة CAN |
| Teltonika | FMB130 | 2G Advanced | 20131 | teltonika | 3x DIN، 1-Wire حرارة، عداد مسافة CAN |
| Teltonika | FMC125 | 4G Dual Serial | 20125 | teltonika | RS232/RS485 مزدوج، وقود رقمي، RFID |
| Teltonika | FMB125 | 2G Dual Serial | 20126 | teltonika | RS232/RS485 مزدوج، وقود رقمي LLS |
| Teltonika | FMC640 | 4G Heavy Duty | 20640 | teltonika | ناقل FMS CAN ثلاثي، تاكوغراف Tachograph، حمولة المحاور |
| Teltonika (احتياطي) | All Teltonika Models | عام | 5027 | teltonika | المنفذ الاحتياطي العام لموديلات تلتونيكا |
| Ruptela | HCV5 | 4G Heavy Commercial | 21005 | ruptela | ناقل CAN مزدوج، تاكوغراف D8، استهلاك وقود CAN |
| Ruptela | LCV5 | 4G Light Fleet | 21006 | ruptela | تشخيص OBD-II، قراءة مسافة حقيقية، حساس باب DIN |
| Ruptela | Eco4+ | Standard Fleet | 21004 | ruptela | إشعال ACC، حساس وقود LLS، قيادة اقتصادية Eco-Driving |
| Concox / Jimi | VL02 | 4G Cat M1/NB2 | 22002 | concox | تتبع المركبات، قطع الوقود عن بعد، تنبيه الاهتزاز، حساس ACC |
| Concox / Jimi | VL03 | 4G OBD-II Plug&Play | 22003 | concox | تشخيص المحرك DTC، جهد البطارية، السرعة اللحظية |
| Concox / Jimi | GV40 | 4G Video Dashcam | 22040 | concox | فيديو مباشر 4G، تيليماتكس متقدم، تنبيهات ADAS و DMS |
| Mobile Track | OsmAnd HTTP | HTTP/HTTPS | 5055 | osmand_http | تطبيق الجوال الذكي للهواتف الذكية Android و iOS |
خادم device-ingestor.exe يستمع على كافة المنافذ الـ 18 بتزامن تام عبر Goroutines خفيفة وعالية الإنتاجية.
توليد حساسات الوحدة تلقائياً من مواصفات الموديل (إشعال، وقود تناظري أو رقمي، درجات حرارة، وعدادات CAN).
نافذة تفاعلية منبثقة بـ CMS تتيح لفنيي التركيب نسخ الـ IP والـ Port بضغطة زر لنقلها لأداة الإعداد الميدانية.
مشروع التخصيص الكامل للشركات والموزعين (SAAS Turnkey White-Label Architecture)
منظومة إطلاق بوابات التتبع المستقلة بنطاق خاص وشعارات وهوية ألوان مخصصة لكل شريك وموزع
تمكن المنظومة السحابية الموزعين والشركات الكبرى من تشغيل منصة تتبع كاملة باسمهم التجاري ونطاقهم المستقل (Custom Domain) مثل tracking.partner.sa مع تخصيص شامل للألوان، والشعارات، وشاشات تسجيل الدخول، وروابط تطبيقات الجوال دون أي أثر لمنصة الموفر الرئيسي (Zero-Vendor Footprint).
توجيه ذكي عبر ترويسة Host في محرك Node.js مع مطابقة النطاق أو الاسم الفرعي واستخراج الهوية فورياً.
شاشة /cms/whitelabel.html المخصصة مع محاكي حي لحظي للمنصة وشاشة الدخول وتوليد شفرة الألوان.
أداة أوتوماتيكية لفحص سجلات A و CNAME والتأكد من توجيه النطاق إلى السيرفر 162.19.249.106.
مرجع الواجهات البرمجية الشامل (RESTful & WebSocket API)
جميع المسارات تخدم على المنفذ 80 و 443 مباشرة عبر Caddy Reverse Proxy مع دعم الدخول المباشر بدون قيود (Zero-Login Bypass):
استرجاع قائمة المركبات مع آخر إحداثية وحالة المحرك والسرعة والسائق.
استرجاع المؤشرات الستة لإدارة الحسابات، الحصص، والأرصدة بالريال السعودي.
نقل ملكية مركبة بين حسابين مع ترحيل أجهزة الـ IMEI ومعايرة الحساسات.
بث الإحداثيات اللحظية عبر WebSocket وإرسال رسائل {"type":"subscribe","topic":"telemetry.all"}.
محرك اللغات المتعددة المقيد بالباقات والتصميم الفاتح المريح
دعم كامل للغات الـ 7 الرئيسية العالمية مع تحكم كامل بالصلاحيات والإتاحة لكل مستخدم وحساب وفق خطة اشتراكه في CMS.
اللغة الافتراضية باتجاه من اليمين إلى اليسار (RTL).
لغة الأعمال الدولية باتجاه من اليسار لليمين (LTR).
موجهة لسائقي ومشغلي الأساطيل الميدانيين (RTL).
معيار منظومات MAZRAF والتليماتكس العالمية (LTR).
للمشغلين الدوليين والشمال الإفريقي (LTR).
لأسواق أمريكا اللاتينية وأوروبا (LTR).
لقطاع الشاحنات والنقل الترانزيت الإقليمي (LTR).
بروتوكول وقواعد التوثيق الحي المستمر (Living Documentation Protocol)
بناءً على التوجيه الصارم، أي تعديل يطرأ على المنظومة حالياً أو مستقبلاً يجب أن ينعكس فوراً وبشكل إلزامي على هذه الصفحة (صفحة الـ Docs) وعلى ملف التوثيق المرجعي docs/SYSTEM_DOCUMENTATION.md.
- 1. واجهات برمجية (API Endpoints): توثيق المسار، الطريقة، المعاملات، ونموذج الاستجابة JSON.
- 2. واجهات وتصميم (UI & Tabs): شرح اسم التبويب الجديد، الحقول، الأزرار، والوظيفة التشغيلية.
- 3. قواعد البيانات (Database): توثيق الجداول الجديدة، الحقول، المفاتيح، والـ Schemas.
- 4. سجل الإصدارات (Changelog): إدراج رقم الإصدار والتاريخ ووصف التحديث في قسم سجل التعديلات أدناه.
الموقع التعريفي، باقات الأسعار، وحسابات الديمو (12 صفحة مستقلة)
موقع تسويقي منفصل بالكامل يخدم عملاء المؤسسات (B2B) والأفراد (B2C) على نفس الخادم وعنوان الـ IP بمسارات مستقلة وتصميم فاتح/داكن متناسق.
الجولة التفاعلية، إحصائيات المنظومة، وميزات التليماتكس.
تفصيل الـ 22 تبويباً، معايير MAZRAF، والتنبيهات الـ 18.
تبدأ من $0.25 (1 ريال) مع حاسبة وفر الوقود التفاعلية.
دخول فوري بنقرة واحدة لـ 5 أدوار دون طلب تسجيل.
6 لقطات شاشة حية من النظام الفعلي مع عارض مكبر.
دراسات حالة الروابي، الرياض إكسبريس، والمقاولات.
الهوية الوطنية 2030 وسيرفرات الرياض السحابية Tier IV.
حاسبة العروض، المكاتب الإقليمية، والهاتف الموحد 9200.
دخول مديري الأساطيل وحسابات المستخدمين المقيدة.
مطابقة نظام حماية البيانات الشخصية الصادر بالمرسوم الملكي.
بنود الفوترة وحقوق الملكية واختصاص محاكم الرياض.
التشفير العسكري، توطين البيانات، وجاهزية 99.98%.
محرك التقييم السلوكي، المكافآت، والفحص الميداني الرقمي بالتوقيع الإلكتروني
ميزة تسويقية وتنافسية استثنائية لشركات النقل والتأمين تجمع بين الذكاء السلوكي في قياس التسارع والفرملة والسرعة، والتحول الرقمي الكامل لفحص المركبات وإلغاء المعاملات الورقية (Zero Paperwork).
1. محرك نقاط السلامة والقيادة الخضراء (Eco-Driving Engine)
- رصد لحظي عبر التليمتري للتسارع المفاجئ، الفرملة العنيفة، الانعطاف الحاد، السرعة، والتشغيل أثناء التوقف.
- سلم درجات متدرج من A+ (ذهبي 🥇) إلى D (يحتاج تحسين) مع لوحة متصدرين تفاعلية (Leaderboard).
- استوديو تعديل أوزان العقوبات (Settings) بحسابات مخصصة لكل مستأجر وربط مع تخفيضات التأمين.
- نقاط النهاية البرمجية:
/api/ecodriving/scoresو/api/ecodriving/eventsو/api/ecodriving/settings.
2. تطبيق السائق الميداني وفحص المركبة الرقمي (DVIR PWA)
- تطبيق PWA جوال مستقل وخفيف في المسار
/driver/index.htmlمع دعم التثبيت وشارات التنبيه اليومية. - قائمة فحص ميداني معتمدة من 12 بنداً (سوائل، مكابح، إطارات، أضواء، معدات سلامة، ووثائق نظامية).
- لوحة توقيع إلكتروني تفاعلي (HTML5 Canvas Touch Signature) وقراءة العداد ومستوى الوقود.
- تقييم فوري للحالة (سليم / تحذير / عطل حرج) مع إصدار شهادات الفحص الرقمية وسجل تدقيق شامل.
التخطيط الذكي للمسارات 2-Opt TSP، إثبات التسليم الرقمي POD، ومحاكي القيادة الواقعي
حل تشغيلي ولوجستي رائد يجمع بين خوارزميات الذكاء الاصطناعي لاحتساب المسارات الأقصر والأوفر في الوقود والانبعاثات، والربط اللحظي بمانيفست الشحنات الميداني بالتوقيع الرقمي للمستلم، مع محاكي رحلات متطور يتبع شوارع الرياض الفعلية ويبث تليمتري لحظي حي مع حقن الأحداث للعروض والديمو.
1. محسن المسارات وتوزيع الشحنات (2-Opt TSP & Dispatch Studio)
- حل رياضي دقيق لمسألة TSP يخفّض الكيلومترات والانبعاثات بنسبة وفر وقود تصل إلى 32%.
- استوديو التوجيه (
#tab-routes) مع خريطة توجيه MapLibre تفاعلية وعرض رقمي للمحطات. - جداول
core.dispatch_ordersوcore.dispatch_routesلحفظ الشحنات والمسارات. - تكامل كامل مع تطبيق السائق PWA (
/driver) وإثبات التسليم الرقمي POD بالتوقيع على Canvas.
2. محاكي الرحلات الواقعي (Realistic AI Road Paths Simulator)
- مسارات واقعية تتبع شوارع الرياض الفعلية (KAFD، الملك فهد، وخريص) مع زوايا انعطاف البوصلة (0°-360°).
- محاكاة فيزيائية للتوقف عند الإشارات وتغيير السرعات ومضاعف سرعة (1x إلى 10x).
- بث تليمتري حي إلى
telemetry.unit_last_stateو NATS لتحريك المركبة على الخريطة مباشرة. - حقن لحظي لأحداث الكبح الطارئ والتسارع والسرعة يتفاعل تلقائياً مع محرك نقاط القيادة Eco-Driving.
سجل الإصدارات والتغييرات (Changelog & Roadmap)
إعادة هندسة جذرية وتكاملية لآلية إدارة ومنح وإلغاء الصلاحيات على مستويين متكاملين (مستوى باقة المنشأة/الحساب ومستوى المستخدم الفردي) مع سريان المفعول الفوري عبر المنظومة دون الحاجة لتسجيل الخروج:
- الإنفاذ على مستوى باقة الحساب (Account-Level Services Entitlement): حماية كافة مسارات الـ API (التتبع، السياجات، التقارير، التنبيهات، الصيانة، السائقين، القيادة الآمنة، سلسلة التبريد، أوامر التحكم الميدانية، وواجهات الربط البرمجي) عبر وسيط
checkModulePermissionومطابقتها مع باقة الحساب فيcore.accounts.services؛ في حال إيقاف الخدمة يتم الرد فوراً برمز 403 ومنع الإجراء مع إظهار اسم الخدمة المعطلة باللغة العربية. - الإنفاذ على مستوى المستخدم والمصفوفة الحبيبية (User-Level Granular ACL & Action Flags): التحقق من صلاحيات العمليات المحددة (
view,edit,delete,control) بالإضافة لأعلام القيود التشغيلية للمستخدم مثل حق إنشاء العناصر (can_create_objects) وحق إرسال رسائل التحكم الميداني (can_send_sms) وصلاحيات الموزع (dealer_rights). - التحديث اللحظي عبر NATS و SSE دون تسجيل خروج (Zero-Logout Realtime Synchronization): ربط تعديلات الصلاحيات في خادم الواجهة البرمجية ببث حدث
permissions_updatedعبر NATS إلى قنوات الـ SSE؛ يقوم المتصفح فوراً بإعادة استدعاء/api/auth/profileوتحديث شريط التنقل الجانبي وأزرار الإضافة والتحكم لحظياً في شاشات المستخدمين المتصلين. - إدارة باقات الحساب وقوالب الأدوار في CMS: إضافة نافذة مخصصة (
accountPermissionsModal) لإدارة باقات خدمات الحساب الـ 12 مع إمكانية التفعيل والتعطيل بنقرة زر، وتصحيح معالج اعتماد قوالب الأدوار القياسية (CMS.saveTierPermissions) لتعميم وتثبيت مصفوفة الصلاحيات تلقائياً على كافة المستخدمين التابعين لذلك الدور. - بذر جدول صلاحيات الأدوار القياسية (
core.role_assigned_permissions): إدخال 74 سجلاً رسمياً يربط الأدوار القياسية (Super Admin, Reseller Admin, Fleet Manager, Dispatcher, Maintenance Tech, Field Driver, Viewer) بكود الصلاحيات المعتمدة في سجل الصلاحيات.
تطوير جذري لسرعة استجابة معالج نقل المركبات بين الحسابات وتأمين المزامنة اللحظية مع خوادم الاستقبال ومعالجات التليمتري:
- فصل ترحيل الـ Hypertables عن دورة طلب الـ HTTP (Non-Blocking Transfer): تحويل عملية النقل لتتم خلال أقل من 250ms بإجراء التحديث الذري لجداول الوحدات، الأجهزة، التعيينات، الحالة اللحظية، وجداول العمليات، مع نقل ترحيل مئات آلاف نقاط مسار التليمتري التاريخية (
telemetry.points) إلى عامل تشغيل خلفي غير حاجز (setImmediate) دون تجميد واجهة المستخدم أو التسبب في انتهاء مهلة المتصفح. - ترقية دالة حل الأجهزة في PostgreSQL (
app.resolve_device): دعم التعرف الفوري بالـ IMEI أو معرّف الـ UUID ومزامنة العميل الفعلي المالك للوحدة (COALESCE(u.tenant_id, a.tenant_id, d.tenant_id)) ومنح صلاحيات التنفيذ لـmazraf_appوmazraf_ingest. - كاش التوجيه الذكي في معالج التليمتري (
telemetry-processor): تدشين ذاكرة كاش داخلية سريعة (3s In-Memory Resolution Cache) مع الاشتراك في حدث NATS المباشرdevice.transferلتطهير الكاش لحظياً، مما يضمن أن كل نقطة تليمتري واردة من أجهزة التتبع تُسجل وتُبث وتُحدث الحالة اللحظية تحت الحساب الجديد فوراً. - إعادة استبيان جلسات الـ TCP في خادم الاستقبال (
device-ingestor): تحديث دوري لكل جلسة اتصال نشطة وفصل الجلسة عند النقل لإعادة فتحها وإسناد الحساب الجديد تلقائياً دون الحاجة لإعادة تشغيل الخوادم.
حل جذري لخلل عدم ظهور المركبة المنقولة في حساب العميل الهدف وعدم ترحيل بياناتها التاريخية السابقة عند إجراء النقل في CMS، مع الحفاظ على عزل البيانات الصارم (Multi-Tenant Row-Level Security):
- الترحيل الذري لجميع الجداول التشغيلية والتاريخية: توسيع معاملة النقل في
POST /api/fleet/cms/units/transferلتشمل تحديثcore.units، وcore.device_assignments، وcore.devices، وتحديثtelemetry.unit_last_stateحتى تتوافق مع سياق أمان RLS اللحظي للعميل الجديد فوراً. - ترحيل سجل نقاط التليمتري التاريخية في TimescaleDB: تجاوز قيد فك ضغط الأجزاء عبر
SET timescaledb.max_tuples_decompressed_per_dml_transaction = 0داخل المعاملة وترحيل كامل النقاط التاريخية (558,000+ نقطة) إلىtarget_account_id، وترحيل سجلات التنبيهات، الصيانة، الحساسات، والتشخيص. - المزامنة الفورية لذاكرة التخزين اللحظي (Garnet / Redis State Caching): حذف المركبة المنقولة من كاش الحساب السابق
fleet:live:{old_tenant}وإلغاء كاش الفهرسfleet:catalogللحسابين، مما يضمن ظهور المركبة المنقولة وبياناتها اللحظية في شاشة الخريطة والمراقبة للعميل الجديد فور إتمام النقل بنقرة زر واحدة دون الحاجة لإعادة تحميل النظام. - حماية استعلام المواقع اللحظية من الاختفاء (
LEFT JOINFallback): تحويل ربطtelemetry.unit_last_stateفي مسار/api/tracking/liveإلىLEFT JOINلضمان عدم اختفاء أي مركبة جديدة أو منقولة من قائمة المراقبة حتى قبل وصول أول حزمة GPS. - تحديث معالج الحزم في Go (
telemetry-processor): إضافةtenant_id = EXCLUDED.tenant_idوdevice_id = EXCLUDED.device_idفي عبارةON CONFLICT (unit_id) DO UPDATEلضمان التوافق المستمر بين الحزم الواردة وحساب العميل الحالي. - توحيد وتنظيم مسار التنبيهات في المنظومة: إزالة قسم سجل التنبيهات الأمنية المكرر من تبويب استوديو السياجات الجغرافية (
#tab-geofences)، وتكريس تبويب "محرك الإشعارات والتنبيهات المتقدم" (#tab-notifications) كمركز موحد وشامل لجميع سجلات وقواعد وتدفقات التنبيهات اللحظية عبر المنظومة. - إعادة هيكلة شريط أدوات استوديو السياجات وحل تداخل القوائم والأزرار: فصل القوائم المتداخلة التي كانت تطفو في أعلى خريطة استوديو السياجات؛ تم تدشين شريط أدوات علوي موحد (
#geofenceStudioToolbar) يضم أدوات الرسم الهندسي CAD (مضلع، مستطيل، دائرة، ممر، علامة، تراجع، مسح، واعتماد) مع أدوات تبديل الطبقات والأنماط (شوارع، أقمار صناعية، داكن، 2D، واحتواء)، وتثبيت حقل البحث والانتقال السريع (#gfMapSearchInputوالرقائق الجغرافية) في زاوية الخريطة المستقلة، مما منع أي تصادم أو حجب نهائياً في الوضعين الفاتح والداكن.
ترقية البنية المعمارية لمنظومة مزراف MAZRAF للعمل بأعلى درجات الكفاءة والثبات تحت أعباء تشغيلية ضخمة تصل إلى 5,000+ مستخدم متزامن و 20,000 وحدة تتبع عبر 5 ركائز هندسية:
- فصل مسار القراءة عن الكتابة (CQRS & Read Replicas): إنشاء دور قاعدة البيانات المخصص
mazraf_readonly، وبناء معمارية الأحواض الثنائيةwritePool(لعمليات الإدخال والكتابة والصلاحيات عبر المنفذ 5432) وreadPool(الموجه لنسخ القراءة ومجمعات PgBouncer عبر المنفذ 6432) مع دوال التوجيهrunWithTenantReadوتوجيه استعلامات المسارات والتقارير واللوحات اللحظية إليها لمنع بطء وقفل الجداول. - ذاكرة التخزين اللحظي (Garnet / Redis State Caching): ربط Core API بمحرك Garnet فائق السرعة عبر المنفذ 6379، ومزامنة أحداث النبضات المتدفقة عبر NATS JetStream في مفتاح HASH
fleet:live:{tenant_id}لحظياً. تقليص زمن استجابة استعلام المواقع اللحظيةGET /api/tracking/liveإلى أقل من 10-15 مللي ثانية وتخفيف الضغط عن قاعدة بيانات PostGIS بنسبة تفوق 90%. - البث الحي عبر WebSocket / SSE وتقليص الـ Polling: تفعيل قناة بث مباشر Server-Sent Events (
/sseو/api/tracking/stream) في خادم Go Realtime Gateway و Core API لدعم التحديثات اللحظية عبر WSS و SSE معاً. ربط واجهة الخريطة لتحديث إحداثيات ومؤشرات المركبات فورياً بمجرد وصول الحزمة وإلغاء الاستعلام الدوري المتكرر (من 15 ثانية إلى مزامنة أمان خلفية لطيفة كل 120 ثانية). - أرشفة بيانات التليمتري وتقسيم الجداول (TimescaleDB Hypertables Chunking & Compression): تقسيم جدول
telemetry.pointsإلى أجزاء أسبوعية (7 أيام) عبر الهجرة0026_enterprise_scalability_cqrs_and_chunking.sql، وتفعيل سياسة الضغط الآلي العمودي بعد 7 أيام محققة نسبة توفير تفوق 96% (25x إلى 484x ضغط)، مع إنشاء إجراءات تشخيص وإدارة الأجزاءtelemetry.get_chunk_compression_stats()ومسارات المراقبةGET /api/system/timescaledb/chunks. - ضغط الأصول الساكنة وتحسين استجابة المتصفح (Frontend Bundle Optimization & Caddy): تفعيل ضغط Zstandard و Gzip في خادم Caddy Reverse Proxy مع ترويسات التخزين المؤقت الطويل
Cache-Control: public, max-age=31536000, immutableلملفات الـ JS والـ CSS والخطوط، وتأخير تحميل محرك الخرائط MapLibre باستخدام خاصيةdeferلضمان التحميل الفوري للصفحة. - إصلاح استعلام تعيين الأجهزة في دليل وحدات الـ CMS (
/api/fleet/cms/units): تصحيح شرط التحقق من النطاق الزمني للتعيين المفتوح (da.period @> now() OR upper_inf(da.period)) ومطابقة كود وموديل الجهاز، مما حل مشكلة ظهور الموديل الافتراضي البديل (Concox Terminal) بدلاً من موديل الجهاز الفعلي Teltonika FMB920 وإظهار رقم الـ IMEI الحقيقي (864022086824272) والمنفذ المعتمد :20921 بدقة متناهية.
توحيد القالب الخارجي ومنطقة العمل في المنتصف عبر جميع تبويبات الـ CMS الـ 11 لتعمل بتصميم جدول Wialon الموحد وإصلاح نقل ملكية الوحدات:
- إصلاح معالج نقل الوحدات بين الحسابات (
POST /api/fleet/cms/units/transfer): دعم استقبال مصفوفةunit_idsومعرفunit_id، تحديث ملكية المركبات والأجهزة والحساسات ذرياً في قاعدة البيانات، وعرض اسم المركبة والحساب المالك الحالي مع تعطيل اختيار نفس الحساب في القائمة المنسدلة. - إعادة تصميم منطقة العمل المركزية الموحدة (
<main id="cmsWorkspace">): توحيد كافة صفحات الـ CMS الـ 11 لتتكون من 3 كتل قياسية متطابقة فقط: شريط عنوان وأدوات منطقة العمل (.cms-workspace-banner)، شريط 4 بطاقات إحصائية قياسية (4-KPI Strip)، وبطاقة جدول بيانات رئيسية واحدة بعرض كامل (.cms-card overflow-hidden) مع نقل المفتشات والنماذج الفرعية إلى نوافذ منبثقة. - التنقل الفوري داخل منطقة العمل (SPA Workspace Navigation): تحديث
CMS.navigateWorkspaceفيcms-core.jsلتبديل محتوى منطقة العمل في المنتصف لحظياً عند النقر على أي تبويب. - توحيد تلوين التبويب النشط في القائمة الجانبية للمنصة الرئيسية وحذف الأزرار المكررة وغير التشغيلية من الهيدر: مطابقة تمييز القسم المختار في
#appSidebarباللون الـ Indigo والحد الأيمن تماماً مع قائمة الـ CMS، وحذف زر ونافذة مساعدMAZRAF AI، وحذف زر ونافذة+ مركبة جديدة، وحذف زرCMS Managerالمكرر بجانب قائمةالمنصاتالمنسدلة.
القضاء على الهوامش الكبيرة والتراكمية غير المتناسقة وتوحيد الأبعاد عبر جميع صفحات وتبويبات المنصة التشغيلية والـ CMS:
- توحيد حاوية العمل الرئيسية (
<main>): تقليص البادينج الخارجي والتباعد الرأسي منp-4 sm:p-6 space-y-6إلىp-3 sm:p-3.5 space-y-3.5، مما ألغى الفجوات البيضاء الكبيرة أسفل الهيدر وجوار الشريط الجانبي. - ترشيق بطاقات العناوين وجداول البيانات: ترشيق بطاقات العناوين في
tab-dashboardوtab-messagesوتوسيع مجال رؤية الجداول اللحظية لظهور أكثر من 18 سطراً بدلاً من 8 فقط دون الحاجة للتمرير. - مواءمة شاملة لكافة التبويبات الـ 15: توحيد هيكل الأبعاد والمسافات البينية عبر كافة تبويبات العمليات (المركبات، السائقين، السياجات، التقارير، الصيانة، الأتمتة، والاشتراكات).
- تطبيق المعيار الموحد على منصة الـ CMS: موازنة الهوامش في 11 صفحة تابعة لمدير المنظومة لتحقيق التطابق الهندسي التام.
إعادة تهيئة كاملة لقاعدة البيانات وحذف جميع الحسابات والمركبات التجريبية والوهمية مع تثبيت جهاز تتبع حقيقي حي وبناء 5 سيناريوهات سعودية متقدمة:
- الحفاظ الصارم على المركبة والجهاز الفعلي: الاحتفاظ الحصري بجهاز
Teltonika FMB920برقم الـ IMEI864022086824272وبث حي مستمر للموقع (24.78215, 46.8164833) وربطه مع شاحنة أسطول النخبة اللوجستي وسائقه المعتمد. - 5 سيناريوهات قطاعية متكاملة:
1) المقر الرئيسي السيادي (
admin@mazraf.com/ SuperAdmin)؛ 2) موزع معتمد شورى IoT (reseller@mazraf.sa/ Reseller Admin)؛ 3) أسطول النخبة اللوجستي بالرياض (manager@alnokhba.sa,dispatcher@alnokhba.sa,safety@alnokhba.sa)؛ 4) شركة مدار الأغذية للنقل المبرد (fleet@madarfood.sa)؛ 5) حارس المركبة الخاصة الفردية B2C (b2c@mazraf.sa). (كلمة المرور الموحدة:mazraf123). - حزمة سياجات وقواعد تنبيهات حية: 4 سياجات جغرافية معتمدة بالرياض و 8 قواعد تنبيهات متقدمة (سرعة، سياج، محرك، SOS، بطارية، تباطؤ، حرارة) مع سجل تنبيهات تفاعلي.
- فحص الصلاحيات والـ RLS: التحقق من دقة العزل المؤسسي في الـ API ومنع المستخدمين غير المخولين من التعديل (403 Forbidden).
تحسين وتطهير تجربة المستخدم الرسومية بإلغاء تكرار أزرار التبويبات وتوفير أقصى مساحة رؤية رأسية للخرائط والمراقبة الميدانية:
- إزالة شريط التنقل الثانوي المكرر (
#topQuickNav): إزالة الشريط الأفقي الذي كان يكرر تبويبات الشريط الجانبي (المراقبة، المسارات، التقارير، السياجات، التنبيهات، السائقين، الصيانة، الرسائل، لوحة المؤشرات) مع تنظيف فئات الـ CSS المرتبطة به. - الحفاظ التام على الهيدر الرئاسي السيادي (
<header>): الإبقاء الدائم على شريط المسار الديناميكي المتفاعل (Breadcrumbs)، ومحدد النطاق التنظيمي النشط (شركة الاتجاه الرقمي > أسطول الرياض)، وقائمة المنصات ورابط الـCMS Manager، وجرس التنبيهات (14) وقائمة الحساب. - توحيد قنوات التنقل: استمرار الشريط الجانبي (
#appSidebar) كقناة التنقل المركزية والوحيدة للتبديل بين التبويبات التشغيلية وتوسيع مجال العرض الرأسي للخرائط بمقدار 48 بكسل.
إعادة هيكلة أمنية وتنظيمية شاملة لعزل صلاحيات الإدارة العليا والشركاء عن منصة التتبع التشغيلية الميدانية:
- التطهير من المنصة الرئيسية (
index.html): إزالة تصنيف «الهيكلية والصلاحيات» بالكامل من القائمة الجانبية للمنصة، وإزالة تبويبtab-permissions، وإلغاءpermissionsوcmsمن مصفوفة التبويبات النشطة لتصبح المنصة التشغيلية مكرسة كلياً للمراقبة الميدانية والعمليات. - إنشاء صفحة هرم الصلاحيات والأدوار بمنصة الـ CMS (
/cms/permissions.html): صفحة سيادية متكاملة بنظام تصميم الـ CMS لإدارة هرم الصلاحيات ذي المستويات الأربعة (Provider ➔ Group ➔ Unit ➔ Role Matrix) مع ميزات الربط اللحظي بـ/api/hierarchy/treeوحفظ وتطبيق الصلاحيات وتصديرها بصيغة CSV. - تثبيت تبويب مدير المنظومة والشركاء (
/cms/accounts.html): مخصص لإدارة حسابات الموزعين والشركاء وتسلسل الملكية والاشتراكات. - توحيد القائمة الجانبية لكافة صفحات الـ CMS الـ 11: إدراج التبويبين بوضوح تحت قسم «الهيكل والشركاء» عبر لوحة القيادة، الحسابات، الصلاحيات، المستخدمين، الفوترة، الهوية، الوحدات، البوابات، المحذوفات، التدقيق، والإعدادات.
ترقية جذرية وشاملة لتجربة رسم السياجات الجغرافية التفاعلية على الخريطة في تبويب استوديو السياجات ومجموعات الأمان لتواكب أحدث المعايير الهندسية وأنظمة إدارة الأساطيل العالمية (CAD / GIS-grade interactive tools):
- شريط أدوات CAD العائم على الخريطة (Floating Glassmorphism Ribbon): يتضمن أدوات التحديد (
select)، رسم المضلع الحر الذكي (polygon)، أداة المستطيل السريع بنقرتين (rectangle)، أداة الدائرة التفاعلية بمقبض القطر المباشر (circle)، مسار وممر الطريق (line)، ونقاط الاهتمام الفورية بنطاق أمان (poi). - محرك Rubberband للمعاينة اللحظية والإغلاق المغناطيسي (Smart Snap): خط مرن متتبع لحركة الفأرة، تعبئة شفافة حية، والتقاط مغناطيسي آلي لنقطة البداية عند مسافة أقل من 25 بكسل لإغلاق المضلع وحساب مساحته بنقرة واحدة.
- مقابس منتصف الأضلاع التفاعلية (Draggable Midpoints): مقابس ذكية على كل ضلع تتيح تجزئة الأضلاع وتوليد زوايا جديدة بالسحب المباشر دون الحاجة لحذف أو إعادة الرسم.
- لوحة القياسات الهندسية الحية (Live CAD HUD): شريط سفلي متصل يعرض الإرشادات التوجيهية بالعربية، المساحة اللحظية (م² / كم²)، المحيط ونصف القطر (م / كم)، وعدد النقاط.
- مفاتيح الاختصار الهندسية السريعة: دعم كامل لمفتاح Enter للإغلاق والاعتماد، ومفتاح Ctrl+Z / Backspace للتراجع عن آخر نقطة، ومفتاح Esc للعودة للتحديد.
- محول صور الأقمار الصناعية المباشر في الاستوديو: شريط تبديل سريع بين أقمار Esri World Imagery عالية الدقة، وشوارع Carto Voyager، والنمط الليلي Carto Dark، مع حفظ حالة الرسم أثناء التبديل.
- مكتشف المراكز اللوجستية بالرياض: أزرار قفز فوري ومحرك بحث بالإحداثيات أو الأسماء للمراكز الصناعية بالرياض (حي السلي اللوجستي، خريص، الميناء الجاف، KAFD، الصناعية، ومطار الملك خالد).
- قوالب الأمان المسبقة بنقرة واحدة (Security Presets): مستودع آمن، منطقة حظر ومخاطر، ورشة صيانة، موقع تفريغ عميل، ومقر العمليات الرئيسي HQ.
إزالة وتطهير شامل لمنظومة توجيه التوزيع ومحاكي الرحلات بطلب من الإدارة:
حذف جداول core.dispatch_orders و core.dispatch_routes و core.ai_simulation_scenarios نهائياً من قاعدة البيانات (Migration 0025)،
إزالة نقاط النهاية البرمجية /api/dispatch/* و /api/simulation/* وخوارزمية 2-Opt TSP من الخادم،
إلغاء تبويب #tab-routes من منصة العمليات والقائمة الجانبية وملفات الترجمة i18n،
حذف نوافذ #aiSimulatorModal و #addDispatchOrderModal و #dispatchRouteDetailsModal،
وحذف تبويب المانيفست ونافذة التوقيع الرقمي POD من تطبيق السائق الميداني PWA وإعادة الشريط السفلي للتبويبات الـ 4 القياسية.
إطلاق استوديو الخرائط المتقدم لكافة بيئات التتبع الميداني واستوديو إعادة المسارات التاريخية:
دعم 36 نمط خريطة احترافي مقسمة إلى مجموعات (خرائط مجانية ومفتوحة Carto Voyager, Positron, Dark Matter, OpenFreeMap 3D, OSM, Esri Satellite & Streets & Topo & Nav, Wikimedia)،
وخرائط تجارية تتطلب مفاتيح API (Google Maps Roadmap, Satellite, Hybrid, Terrain, Live Traffic | Mapbox Streets, Sat Streets, Dark, Light, Outdoors, Nav Traffic | HERE Explore Day, Satellite, Hybrid | TomTom Navigation | Stadia Maps Alidade Smooth & Dark | Thunderforest Transport & Cycle | Yandex Scheme & Satellite)،
نظام هرمي مرن لإدارة الصلاحيات ومفاتيح الـ API من CMS:
1) إعدادات الخرائط والمفاتيح على مستوى الحساب الرئيسي (/api/fleet/cms/accounts/:id/maps) مع نافذة مخصصة بـ accounts.html،
2) صلاحيات الخرائط على مستوى المستخدم الفردي (وراثة الحساب أو تخصيص يدوي) بـ users.html (/api/fleet/users/:id/maps)،
3) استوديو مفاتيح المنصة المركزية بـ settings.html (/api/fleet/cms/global-map-keys)،
4) محرك الاستعلام التلقائي عن التكوين الفعال (/api/maps/effective-config) والربط الحي بتبويب الخريطة ووحدات العمل (#tab-map) وتبويب استوديو سجل المسارات وتاريخ الرحلات (#tab-replay) مع الحفاظ على مسارات الرحلات ونقاط الوقوف وحركات التشغيل دون فقدان للبيانات.
إطلاق منظومة الميل الأخير واللوجستيات والمحاكي الافتراضي للعروض والديمو:
جداول core.dispatch_orders و core.dispatch_routes و core.ai_simulation_scenarios،
خوارزمية 2-Opt Heuristic TSP Solver لاحتساب المسار الأمثل والوفر التقديري في الوقود،
واجهات البرمجة السحابية الشاملة للتوجيه وتعيين المسارات وإثبات التسليم (/api/dispatch/*)،
محاكي الرحلات الواقعي المربوط بشوارع الرياض وبث التليمتري الحي وحقن أحداث القيادة (/api/simulation/*)،
ترقية تبويب المسارات (#tab-routes) بالمنصة الرئيسية مع نوافذ المحاكي وإضافة الطلبات والمانيفست،
ودمج تبويب مهام التوصيل واعتماد التوقيع الرقمي للمستلم (POD) في تطبيق السائق الميداني PWA.
إطلاق الميزة التنافسية الكبرى لقطاع التأمين وإدارة الأساطيل:
جداول core.ecodriving_settings و core.driver_behavior_events و core.vehicle_inspections،
محرك حساب درجات الأمان من 0 إلى 100 وتصنيف السائقين بشارات الأسطول (ذهبي، فضي، برونزي)،
واجهات البرمجة السحابية الشاملة للتقييم والأحداث،
تطبيق السائق الميداني PWA المستقل (/driver/index.html) المدعوم بالتوقيع الرقمي الحي على Canvas وفحص البنود الـ 12 المعتمدة،
وتدشين نوافذ لوحة المتصدرين (Eco-Leaderboard) وفحوصات الأسطول (DVIR) داخل المنصة الرئيسية.
إطلاق منظومة التخصيص الكامل للشركات والموزعين كمشروع متكامل (Turnkey White-Label):
دعم النطاقات المخصصة والنطاقات الفرعية (Custom Domains)،
جدول core.white_label_configs مع سياسات الأمان RLS،
نقاط النهاية البرمجية للمطابقة التلقائية (/api/whitelabel/resolve)،
استوديو التخصيص المتكامل بـ CMS (/cms/whitelabel.html) مع محاكي حي تفاعلي لحظي لشاشات المنصة وتسجيل الدخول ومساعد فحص الـ DNS،
ومحرك الحقن البصري (whitelabel-engine.js) عبر المنظومة.
توحيد تام لشعار واسم MAZRAF عبر كافة المنصات والصفحات، وتوحيد تلوين وتمييز القسم المختار في القائمة الجانبية للمنصة الرئيسية (.nav-tab.active) ليطابق تماماً تصميم القائمة الجانبية في صفحة الـ CMS (#4f46e5)، مع تثبيت شريط أزرار الحفظ السفلي والعلوي وتفعيل الحفظ التلقائي اللحظي ونافذة تخصيص الخرائط (#userMapModal) في الجدول السريع.
تطبيق معمارية المنافذ المخصصة لموديلات أجهزة التتبع (Dedicated Port per Hardware Model):
تخصيص منافذ مستقلة لـ 18 موديلاً معتمداً (Teltonika FMC920 على المنفذ :20920، FMC130 على :20130، FMC125 على :20125، FMB920 على :20921، Ruptela HCV5 على :21005، Concox VL02 على :22002، إلخ).
تحديث خادم الاستقبال المكتوب بلغة Go (device-ingestor.exe) لفتح قنوات استماع متوازية TCP/UDP،
ودمج معالج إضافة الأجهزة ووحدات المركبات بـ CMS (/cms/units) مع شارات المنافذ اللحظية والتوليد التلقائي للحساسات، وشبكة كروت الموديلات التفاعلية، وبطاقة إعدادات الفني ومهندس التركيب.
ترسيخ المعمارية السليمة لمعلمات الاتصال والحساسات:
إلغاء تبويب تشخيص المحرك المنفصل (tab-diagnostics) وزر الشريط الجانبي وشبكة الكروت الخاصة به،
حيث إن معلمات المحرك وناقل البيانات (RPM، حرارة التبريد، ضغط الزيت، والجهد) ليست تبويباً مستقلاً، بل معلمات حية واردة من أجهزة التتبع يتم ضبطها كحساسات قياسية (Sensors) بحسب نوع المعامل عبر راصد الحساسات الديناميكي ومحرر الحساسات بالـ CMS،
مع تنظيف مصفوفة الصلاحيات ومحرك البحث وحزم اللغات المعتمدة.
فصل مهام التتبع التشغيلي عن التهيئة الفنية لأجهزة الهاردوير والمنافذ:
إلغاء شبكة الكروت والمربعات بالكامل واستبدالها بجدول عمليات أسطول عالي الكثافة (fleetMasterVehiclesTable)،
حذف جدول أجهزة ومنافذ الاستقبال وطلب تسجيل أجهزة التتبع من منصة التتبع الرئيسية ونقلها حصرياً إلى وحدة إدارة الأجهزة بالـ CMS (/cms/units.html) مع زر توجيه فوري مباشر،
إضافة تبويب فرعي لمجموعات الأسطول التشغيلية وحساب متوسط السرعة والوحدات النشطة وتصفية الجدول بنقرة واحدة،
مع دعم التصدير الفوري لبيانات الأسطول بصيغة CSV.
إعادة بناء استوديو السياجات ومجموعات الأمان كمنطقة عمل جانبية موحدة (Work Area) مستوحاة من معايير Wialon:
إلغاء النوافذ المنبثقة التي كانت تحجب الخريطة،
إتاحة الرسم التفاعلي المباشر للدوائر والمضلعات والممرات على الخريطة نفسها بنقرات الماوس مع مقابض قابلة للسحب لتعديل الزوايا لحظياً،
شريط أدوات عائم للإنهاء والمسح،
ضبط الخريطة الداخلية بمنظور مسطح عمودي تماماً 2D صرف (pitch: 0, bearing: 0) دون أي ميلان أو انحناء،
ودمج أوضاع القائمة، المحرر، وإدارة المجموعات في منطقة عمل واحدة بانسيابية مطلقة.
إزالة الأشرطة والأزرار المتكررة التي تؤدي نفس الغرض عبر تبويبات النظام:
حذف شريط خطوات العمل المكرر من تبويب استوديو السياجات tab-geofences وحل تعارض زر "4. المجموعات" مع "إدارة المجموعات"،
حذف شريط خطوات العمل المكرر من استوديو إعادة تشغيل المسارات tab-replay،
حذف شريط المواضيع التوضيحية المكرر من استوديو التنبيهات tab-notifications،
حذف زر "+ إضافة جهاز" المتكرر في شريط أدوات جدول الأجهزة في cms/units.html،
ومعالجة الإغلاق الصياغي المزدوج بدالة إيقاف المحرك لضمان عمل كافة التبويبات بنسبة 100% وبصفر أخطاء.
تحويل كامل عناصر النظام (الجداول، الأزرار، الكروت، حقول الإدخال، شارات الحالة، والنوافذ المنبثقة) إلى تصميم صندوقي مستقيم الحواف والزوايا (90-Degree Sharp Corners / border-radius: 0 !important) عبر كامل منصة العمليات ونظام إدارة المنظومة CMS وصفحات تسجيل الدخول والمراقبة، مع الحفاظ الصارم على استثناء الموقع الإلكتروني التسويقي /site/ بحوافه المنحنية.
إلغاء وضع وشاشات التتبع الشخصي B2C المنفصلة وتوحيد تجربة المراقبة، بحيث يتم التعامل مع مركبات الأفراد والشركات بنفس المعايير الميدانية من خلال حساب مستخدم نظامي وصلاحيات وصول مخصصة للمركبات المحددة دون الحاجة لشاشات أو أوضاع منفصلة ومشتتة.
دمج أدوات الترويسة المتفرقة (أداة المحدد، بطاقة المستخدم Admin Demo، تبديل الوضع الفاتح والداكن، وقائمة اختيار لغة المنظومة 🇸🇦 العربية) داخل قائمة منسدلة تفاعلية شاملة وأنيقة في كل من منصة التتبع الرئيسية ومنصة مدير المنظومة CMS، مما يوفر شريطاً علوياً مبسطاً وخالياً من التزاحم.
إعادة هندسة محاذاة دبابيس وعلامات MapLibre بنظام الحاوية المرنة العمودية الموحدة مع ضبط اتجاه LTR لمنع انفصال بطاقة الاسم أو انجرافها، وانضباط حركة المحاكي في مسارات دائرية مغلقة داخل شوارع العاصمة الرياض، وترقية بطاقات وحدات المراقبة ببيانات متكاملة وأدوات سريعة.
حل تعارض محددات الفئات الشاملة في الوضع الفاتح وتصحيح ألوان النصوص الداكنة لتوفير وضوح تام ومقروئية مريحة، مع الحفاظ على النص الأبيض الناصع فقط على الأزرار الصلبة المشبعة الزرقاء، واجتياز فحص التدقيق البصري لـ 5,262 عنصراً بـ 0 عناصر متعارضة.
توحيد تام لشعار واسم MAZRAF عبر كافة المنصات والصفحات، وتوحيد تلوين وتمييز القسم المختار في القائمة الجانبية للمنصة الرئيسية (.nav-tab.active) ليطابق تماماً تصميم القائمة الجانبية في صفحة الـ CMS (#4f46e5)، مع تثبيت شريط أزرار الحفظ السفلي والعلوي وتفعيل الحفظ التلقائي اللحظي ونافذة تخصيص الخرائط (#userMapModal) في الجدول السريع.
تغيير شامل وكامل لاسم النظام والمشروع وكافة المنصات والصفحات والواجهات وقواعد البيانات إلى MAZRAF، مع مراجعة ومزامنة فورية لصلاحيات المستخدمين بين لوحة الـ CMS وصفحة التتبع الرئيسية (/)، وإعادة تصميم واجهة الـ CMS على غرار Wialon CMS Manager بتصميم جدولي بسيط وسريع ونافذة موحدة لتحرير الصلاحيات.
توحيد ومزامنة أيقونة المركبة المختارة (12 نوعاً للمركبات التليماتيكية) عبر الخريطة وقائمة وحدات العمل ووضع إعادة المسارات ولوحة بيانات الـ HUD وقاعدة البيانات وجدول الوحدات في CMS. القضاء التام على التداخلات والتوهجات النيونية البراقة واعتماد تصميم كبرى الأنظمة العالمية الرصين باللون الأزرق التليماتيكي وخلفيات السليت الداكنة المريحة للعين، وتحديث مركز بوابات الاستقبال وشبكات الحساسات.
تدقيق واختبار 435 زراً تفاعلياً عبر منصتي العمليات والـ CMS (378 زراً تشغيلياً و 57 زراً إدارياً)، وربط دوال التتبع التلقائي اللحظي toggleFollowMode وإعادة المسارات وقطع المحرك عن بعد واختيار الأيقونات، واجتياز اختبار النقر الحي في متصفح Headless Chrome بـ 0 أخطاء برمجية.
تجريد منصة التتبع والعمليات الميدانية (index.html) بالكامل من أكواد وقوائم CMS المدمجة (حذف 96,487 بايت) لتصبح منصة تشغيلية نقية ومستقلة 100%، وتدشين مبدل المنصات والتطبيقات الموحد (App Switcher) في الشريط العلوي عبر كافة بوابات المنظومة مع الحفاظ على تزامن الجلسات والمظهر ولغة النظام.
إضافة دعم 7 لغات عالمية رئيسية (العربية، الإنجليزية، الأوردو، الروسية، الفرنسية، الإسبانية، والتركية) مقيدة بالصلاحيات حسب باقة الاشتراك في CMS، مع القائمة المنسدلة التفاعلية والتحويل التلقائي لاتجاهات RTL/LTR.
إعادة بناء وإطلاق منظومة CMS كـ مشروع مستقل في apps/web/public/cms/ يضم 9 شاشات متكاملة، شجرة هيكل الخدمة البصرية (Interactive Creator Tree)، لوحة فحص الحسابات (Inspector Drawer)، معالج نقل الوحدات المتعدد (Unit Transfer Wizard)، وخاصية الدخول كـ (Login-As) المترابطة بنظام التتبع.
إنشاء 12 صفحة تسويقية مستقلة في apps/web/public/site/، دعم حاسبة ROI وباقات الأسعار من $0.25، حسابات الديمو التفاعلية، 6 لقطات شاشة فعلية Chrome CDP، توجيه Express المباشر، والربط مع القائمة الجانبية والشريط العلوي.
إنشاء صفحة التوثيق التفاعلية apps/web/public/docs.html، وتدشين الملف المرجعي docs/SYSTEM_DOCUMENTATION.md مع إقرار بروتوكول التوثيق الحي الإلزامي لكافة التعديلات.
القضاء التام على العناصر الداكنة بالوضع الفاتح بنسبة 100% وتوحيد مقاسات أشرطة الأدوات والأزرار في الـ 22 تبويباً إلى المعيار الموحد h-9.
إطلاق تبويب tab-cms بالخصائص الإدارية الشاملة، معالج نقل الوحدات، بوابات الاستقبال وشبكات الحساسات الميدانية، وسلة المحذوفات ذات مهلة الـ 30 يوماً.