محرر P2P
محرر رمز P2P لجلسات الترميز المباشر التي تعمل في المتصفح.
هذا الكون P2P المتوازي لا يزال مظلمًا جدًا. إنشاء نجم إذا كنت تريد جعلها أكثر إشراقا؟
استكشف الكون »
العرض التوضيحي عبر الإنترنت · خريطة الطريق · المساهمة
جدول المحتويات
- ماذا يفعل محرر P2P؟
- ؟ لماذا P2P؟
- فوائد P2P
- التعقيدات المضافة لتوزيعها بالكامل
- بنيان
- إعداد البيئة
- ؟ الأدوات اللازمة
- تكوين البيئة
- ؟ تنفيذ التطبيق
- ✅ اختبارات التنفيذ
- عرض حي
- عن
- ؟ المساهمة
- ⚖ الترخيص
ماذا يفعل محرر P2P؟
محرر P2P هو محرر رمز يعمل في المتصفح مما يتيح لك مشاركة جلسات الترميز المباشر. تراه بنفسك تقاسم جلسة جديدة:
- افتح جلسة محرر P2P في متصفحك
- شارك عنوان URL الخاص بك مع شخص آخر (أو حتى مع نفسك في نافذة متصفح أخرى؟)
- ابدأ في الكتابة والاستمتاع بتجربة الوقت الحقيقي!
الوظائف محدودة في الوقت الحالي ، ولكن لدينا خريطة طريق وبعض المشكلات الأولى الجيدة لجعل محرر P2P رائع. ألقِ نظرة على القسم المساهم إذا كنت ترغب في المشاركة؟
؟ لماذا P2P؟
لقد أزلنا الحاجة إلى وجود خادم مركزي حيث يتم حفظ جميع التغييرات. يتم الاتصال من نظير واحد (مستخدم متصل) إلى الآخر. من خلال القيام بذلك ، لدينا بعض الفوائد ، لكن علينا أيضًا أن نأخذ في الاعتبار التعقيد الإضافي:
فوائد P2P
- الاتصال المباشر: تقليل الكمون وعرض النطاق الترددي.
- لا خوادم: لا سحابة ، لا تحجيم ، لا نشر ، لا devops ...
- لا SaaS:
- توافر.
- لا تقييد الاستخدام.
- لا استخدام غير معروف (ضار أم لا) لبياناتك.
التعقيدات المضافة لتوزيعها بالكامل
- اتساق البيانات.
- قسم الشبكة / طوبولوجيا.
- اكتشاف الأقران وتأسيس الاتصال.
- المصادقة / التفويض.
- الأمن والخصوصية.
لدينا مصلحة خاصة في تطوير تطبيق P2P. يمكنك قراءة المزيد في القسم حول.
بنيان

لبنات بناء محرر P2P:
- محرر الرمز: ACE
- قاعدة البيانات: تسجيل الدخول فقط (Hypercore)
- الاتصالات: Webrtc RTCDatachannel (Webrtc-swarm)
- اكتشاف الأقران: خادم إشارات WEBRTC (SignalHub)
- التخزين: رام
سير العمل:
- يتم اكتشاف الأقران عبر خادم الإشارة.
- لكل تغيير تم إجراؤه في المحرر ، يتم إلحاق دلتا تمثل هذا التغيير لقاعدة بيانات Hypercore.
- يتم تكرار قاعدة بيانات Hypercore باستمرار بين جميع أقرانها عبر WebRTC RTCDatachannel.
- عندما يتلقى نظير دلتا ، يتم تطبيقه على مثيل المحرر الخاص به.
إعداد البيئة
؟ الأدوات اللازمة
- تثبيت Docker
- استنساخ هذا المشروع:
git clone https://github.com/CodelyTV/p2p-editor - انتقل إلى مجلد المشروع:
cd p2p-editor
تكوين البيئة
- انسخ متغيرات البيئة الافتراضية:
cp .env.dist .env - تعديل متغيرات البيئة إذا لزم الأمر:
vim .env
؟ تنفيذ التطبيق
- ابدأ التطبيق باستخدام Docker Compose:
docker-compose up - انتقل إلى http: // localhost: 3617
✅ اختبارات التنفيذ
- اختبارات وحدة التنفيذ:
docker-compose run p2p-editor test
عرض حي
- لبدء جلسة رمز مباشر جديد مفتوح http://p2p-editor.codely.tv.
- شارك عنوان URL مع المستخدمين الذين تريد الانضمام إلى الجلسة.
- ابدأ في تحرير الملف.
هذا كل شيء! تنعكس جميع التغييرات على الفور في محرر الأقران المتصلين.
ترميز P2P سعيد!
عن
بدأنا هذا المشروع في سياق عملية التعلم حول اتصالات P2P في بيئة ويب. الغرض من محرر P2P هو تطبيق تعلم من خلال القيام به ، حيث يمكننا مشاركة تعلمنا مع المجتمع مع بناء شيء مفيد.
نحن ننشر جميع موارد التعلم التي وجدناها مفيدة في مستودع P2P الرائع. لا تتردد في التحقق من ذلك وإضافة روابطك المفضلة أيضًا!
يعتمد التنفيذ الأولي لمحرر P2P على أعمال Mathias Buus. في حال قرأت هذا ، شكرًا جزيلاً على مشاركة العديد من الموارد والمعرفة المجانية (libre)؟
P2P Editor هو برنامج خالٍ من الأرباح يدعمه مساهمات المستخدم و CodelyTV.
؟ المساهمة
كيف يمكنك المساهمة؟
- الإبلاغ عن الأخطاء.
- توفير الملاحظات واقتراح ميزات جديدة.
- إعطاء الريبو نجم.
- المشاركة في تطوير القضايا التي تحمل علامة على أنها
good first issue . - إضافة موارد التعلم إلى مستودع P2P رائع.
يمكنك الحصول على فكرة عن خارطة الطريق لمحرر P2P الذي ينظر إلى التراكم والويكي.
⚖ الترخيص
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على الترخيص لمزيد من المعلومات.