العودة لقائمة المشاريع

إكمال تطبيق Flutter تعديل صلاحيات السيرفر والصوت

73

نقاط الجدية مشروع جاد

من 100 — بناءً على نشاط صاحب المشروع، جودة الوصف، الميزانية، والعروض
الحالة
مكتمل
تاريخ النشر
منذ 3 أشهر
الميزانية
$25.00 - $50.00
مدة التنفيذ
7 أيام
التصنيف
برمجة، تطوير المواقع والتطبيقات
صاحب المشروع
Abdalah F.
عدد العروض
6
مشاريع قيد التنفيذ
0
التواصلات الجارية
4
المهارات المطلوبة
برمجة تطوير البرمجيات هندسة البرمجيات برمجة التطبيقات تطوير التطبيقات إنشاء تطبيق واجهة برمجة التطبيقات flutter برمجة تطوير البرمجيات هندسة البرمجيات برمجة التطبيقات تطوير التطبيقات إنشاء تطبيق واجهة برمجة التطبيقات flutter
الوصف
مطلوب إكمال العمل على سيرفر Node.js + LiveKit لتطبيق غرف صوتية (Flutter). السيرفر موجود وشغال، المطلوب تعديلات على التوكنات والصلاحيات. المتطلبات التقنية: 1. تعديل endpoint الحالي POST /livekit/join: - التوكن الافتراضي يكون canPublish: false للجميع - صاحب الغرفة (ownerId) فقط يكون canPublish: true ويدخل على المايك مباشرة - المشرف والمستمع يدخلون بـ canPublish: false - المشرف لما يضغط زر المايك يتحول لمتحدث عن طريق grant-publish بدون ما يحتاج موافقة - المستمع العادي يحتاج موافقة الهوست/المشرف 2. إضافة endpoint جديد POST /livekit/grant-publish: - يستقبل: roomId, userId - يغيّر صلاحية المستخدم لـ canPublish: true - يستخدم LiveKit Server API (UpdateParticipant) 3. إضافة endpoint جديد POST /livekit/mute-participant: - يستقبل: roomId, userId - يكتم صوت المستخدم من السيرفر - يستخدم LiveKit Server API (MutePublishedTrack) 4. التأكد من توافق التوكنات مع نظام الصلاحيات: - لما المستخدم ينطرد (kicked_users) ما يقدر يرجع يدخل - لما المستخدم ينكتم (muted_users) التوكن يتحدث تلقائي - لما تتم الموافقة على المستخدم (approved_speakers) يتحول من مستمع لمتحدث بدون ما يطلع ويدخل الغرفة 5. حماية الـ endpoints: - التأكد إن الطلبات تجي من التطبيق فقط - إضافة validation للـ roomId و userId - ما أحد يقدر يعطي نفسه صلاحية بدون ما يكون هوست أو مشرف 6. التأكد إن الصوت يشتغل بشكل صحيح: - الهوست يدخل على المايك مباشرة ويسمعونه من أول ما يدخل - المستمع ما يسمعونه إلا بعد الموافقة - المشرف يدخل صامت ويتكلم لما يضغط المايك بدون موافقة - الكتم يشتغل من السيرفر مو بس محلي - يشتغل على iOS و Android هيكل Firestore (جاهز): user_rooms/{roomId} - ownerId ← صاحب الغرفة - moderators/{userId} ← المشرفين - approved_speakers/{userId} ← المتحدثين المقبولين - muted_users/{userId} ← المكتومين - kicked_users/{userId} ← المطرودين الكود كامل مرفوع على GitHub — آخر نسخة. شروط التسليم: - لا يتم قبول التسليم إلا بعد اختبار كامل على جهازين (iOS + Android) والتأكد من: • الهوست يدخل على المايك تلقائي ويسمعونه مباشرة • المستمع ما يسمعونه قبل الموافقة • المشرف يدخل صامت ويتكلم بضغطة زر بدون موافقة • الكتم يشتغل فعلياً على الطرف الثاني • لا يوجد تأخير أو انقطاع بالصوت - التعديلات تكون على الكود الموجود بدون تغيير هيكل المشروع أو حذف ملفات ملاحظات: - المستقل سبق له العمل على نفس المشروع وعنده access كامل على السيرفر والكود - الكود مرفوع على GitHub جاهز - هيكل Firestore جاهز ومبني
عرض على مستقل