نبذة عن المشروع
منصة Kera هي منصة تأجير سيارات سحابية (SaaS) عالية التوافر ومتعددة المستأجرين. قمت بتطوير بيئة منفصلة للميكروسيرفيسز (Microservices): مخدم رئيسي باستخدام Laravel لإدارة المهام الإدارية المعقدة للوكالات (الضرائب، الفواتير، المخالفات)، وخدمة Go عالية الأداء مخصصة بالكامل لمعالجة اتصالات تتبع أسطول السيارات واستقبال إشارات GPS في الوقت الفعلي.
الإنجازات الهيكلية للمشروع
1. الإدارة الإدارية للمؤسسات متعددة المستأجرين (Laravel) تتطلب وكالات تأجير السيارات عزلًا منطقيًا صارمًا للبيانات ضمن بيئة البنية التحتية المشتركة. * تصميم مخطط قاعدة بيانات PostgreSQL موحدة تعتمد على عزل البيانات المنطقي لضمان عدم تسريب أي سجلات بين الوكالات المختلفة. * هندسة وحدات CRUD كاملة لإدارة المركبات، حساب الضرائب، وإنشاء فواتير PDF تلقائيًا ومعالجتها بشكل غير متزامن عبر طوابير مهام Redis.
2. الاتصال عن بعد في الوقت الفعلي ومركز IoT (Go) [قيد التطوير] يتطلب تتبع أسطول السيارات استقبال تدفق بيانات بترددات وسرعات عالية، وهي مهمة تجد الهيكليات البرمجية التقليدية لـ PHP صعوبة في معالجتها بمفردها. * تصميم ميكروسيرفيس مخصص بلغة Go لاستقبال إحداثيات GPS وبيانات القياس عن بعد لمركبات IoT. * *ملاحظة: ميزة التتبع عن بعد هذه قيد التطوير حاليًا. أعمل بنشاط على دراسة نماذج ربط الأجهزة، حيث يتطلب النشر الفعلي تركيب أجهزة تتبع GPS مادية مزودة ببطاقات SIM نشطة داخل كل سيارة.* * استخدام قنوات البث Redis Pub/Sub لبث تحديثات الموقع المباشرة إلى لوحة تحكم العميل عبر WebSockets دون إعاقة عمل بوابة واجهة برمجة تطبيقات Laravel الرئيسية.
3. محرك توفر الأسطول وإدارة الطلبات المتزامنة تعتبر الحجوزات المزدوجة خطأً فادحاً في منصات تأجير السيارات. * بناء معالج حجوزات يعتمد على طوابير الرسائل لتسلسل عمليات التحقق الواردة لحالة المركبات. * استخدام آلية القفل الموزع Redis (Redlock) لمنع حدوث التضارب في البيانات أثناء إتمام الدفع (Race Conditions)، مما يضمن التناسق التام في جميع أنحاء المعمارية الموزعة للمنصة.