وصف المشروع

متطلبات تنفيذ حل Real-Time باستخدام MongoDB و Socket.io

نظرة عامة على المهمة

نبحث عن خبير في MongoDB و Socket.io لمساعدتنا في حل مشكلة متعلقة بتحديث البيانات اللحظية (Real-Time Updates) ضمن مشروع لإدارة عمليات الجرد داخل الفروع. المهمة تتعلق بتحسين آلية تحديث البيانات ومزامنتها بين جميع الموظفين في الوقت الفعلي، دون الحاجة إلى مشاركة الكود البرمجي، حيث سيتم مناقشة الحل وتقديم الإرشادات للفريق التقني خلال اجتماع مخصص.

تفاصيل المتطلبات

1️⃣ وصف المشكلة

•عملية الجرد تتم على هويات القطع المخزنة في مستودع الفرع، والتي تكون بأعداد كبيرة جدًا.

•يوجد أكثر من موظف يقوم بالجرد في نفس الوقت، وكل موظف يعمل من جهاز مختلف.

•يقوم كل موظف بإنشاء مجموعة جرد جديدة، وجميع الموظفين يجب أن يكونوا قادرين على رؤية التحديثات اللحظية لكل المجموعات.

•عند قيام موظف بجرد قطعة معينة، يجب أن يتم إزالتها فورًا من قائمة القطع المتاحة لجميع الموظفين الآخرين ونقلها إلى المجموعة المفتوحة حاليًا.

•يمكن للموظف إغلاق المجموعة الحالية وفتح مجموعة جديدة، حتى يتم إنهاء جرد جميع القطع في الفرع.

•القطع المتبقية بعد انتهاء الجرد يتم تصنيفها على أنها قطع مفقودة.

2️⃣ التحديات الحالية

تم تنفيذ جميع العمليات الأساسية باستخدام Laravel، لكن الجزء الخاص بالتحديثات اللحظية Real-Time Updates ما زال قيد العمل.

نستخدم Socket.io حاليًا، ولكن البيانات تُحدث عبر عدة Channels مما يسبب تأخيرات وعدم تناسق في البيانات بين المستخدمين.

نحتاج إلى دمج جميع التحديثات اللحظية داخل Channel واحدة بحيث يكون جميع الموظفين متزامنين ويشاهدون أي تغيير لحظي.

المشروع يستخدم Multi-Tenant Database مع MySQL، لكننا نرغب في نقل العملية إلى MongoDB بحيث يكون لكل شركة قاعدة بيانات منفصلة تمامًا.

يجب مراعاة أن البيانات ستكون كبيرة جدًا نظرًا لعدد القطع المخزنة والفروع المتعددة لكل شركة.

المطلوب من المستقل

أن يكون لديه خبرة سابقة في التعامل مع مشكلات التحديث اللحظي باستخدام MongoDB و Socket.io في مشاريع ضخمة.

تقديم خطة واضحة ومفصلة حول كيفية حل هذه المشكلة وتحسين الأداء.

الحل سيتم من خلال مناقشة تقنية مباشرة مع الفريق عبر اجتماع، ولن يتم مشاركة الكود البرمجي.

الهدف هو إرشاد الفريق إلى أفضل طريقة لتنفيذ الحل داخل المشروع القائم دون الحاجة إلى إعادة بناء النظام.

التقنيات المستخدمة في المشروع

Backend: Laravel (حاليًا)، و Node.js (للتحديثات اللحظية).

Frontend: React.js.

Database: MySQL (حاليًا)، و MongoDB (قيد الدراسة للتبديل).

Real-Time: Socket.io.

إذا كنت تمتلك الخبرة المطلوبة وقادرًا على تقديم خطة واضحة لحل المشكلة، يرجى مشاركة الخطه ثم تحديد موعد للاجتماع مع الفريق التقني.

ملاحظة: هذه ليست مشروعًا كاملًا بل مهمة (Task) محددة لحل مشكلة معينة داخل النظام.

أضف عرضك الآن

العروض المقدمة

مرحبا، أنا أحمد مجدي، مطور Node.js متخصص في بناء حلول التحديث اللحظي (Real-Time Updates) باستخدام MongoDB و Socket لدي خبرة واسعة في تصميم أنظمة تدعم التحديثات ...

السلام عليكم . شكرا على مشاركة تفاصيل المهمة. لدي خبرة واسعة في MongoDB و Socket. io، بالإضافة إلى العمل علىrealtime في الأنظمة الضخمة. بعد مراجعة متطلباتكم، أر...

السلام عليكم انا مطور مواقع بخبرة تزيد عن 5 سنوات سبق وقمت بالعمل على مواقع تتطلب ارسال اشعارات لحظية بالستخدام sockeio nodejs mongodb وكذلك قمت ببناء تطبيق مرا...

شارك المشروع

قبولك لهذا العرض يعتبر اتفاقاً بينك وبين المستقل وسيبقى موقع مستقل وسيطاً بينكما حتى تسليم المشروع. لن تتمكن من تغيير العرض أو إلغائه لاحقًا لذلك تأكد من اختيارك للعرض المناسب باتّباع النصائح التالية:

  • راجع صفحة حساب المستقل الذي اخترته واطّلع على أعماله السابقة
  • إن كانت هناك تفاصيل غير مذكورة في المشروع، فتواصل مع المستقل وأخبره بها أولًا
  • بإمكانك أن تتواصل مع المستقل وتسأله عن أية أمور تحتاجها
  • احرص دائمًا على إبقاء التواصل مع المستقل داخل الموقع قدر الإمكان وذلك لضمان حقوقك
  • لا تتردد من التواصل معنا ان احتجت لأي مساعدة، نحن نحب مساعدتك!

المستقل غير متاح لاستلام مشاريع، يمكنك ارسال تنبيه له لقبول العرض وإعادة المحاولة بعد بضعة ساعات، أو اختيار عرضاً من مستقل آخر.