NetflixAddicts
مفتوح المصدر

NetflixAddicts

مجتمع ديسكورد لمشاهدي نتفليكس، يقدم بوت مكتوب بلغة TypeScript يجيب على عمليات البحث عن العروض من كتالوج كان الأعضاء يقومون بملئه، بالإضافة إلى موقع عرض باستخدام Bootstrap وواجهة برمجة Go قصيرة الأمد.

تاريخ البدء

April 2019

الحالة

مؤرشف

فريق العمل

3 أعضاء

عن المشروع

بدأت NetflixAddicts كخادم ديسكورد للأشخاص الذين يشاهدون الكثير من السلاسل، وأنشأوا بوتًا ليعمل معه. كانت أمر ency تبحث في كتالوج العروض حسب العنوان أو النوع وتُرجع نتائج مجزأة، بينما كان أمر suggest يتيح للأعضاء اقتراح الإدخالات المفقودة. لم يتم استخراج الكتالوج من أي مكان: كان يعتمد فقط على ما اهتم المجتمع بإضافته. حول البوت، تم إرساء القواعد العامة المعهودة للمجتمع: قنوات صوتية خاصة تم إنشاؤها عند الطلب وتم تدميرها عندما تصبح فارغة، تشغيل الصوت، إدارة الحضور، وجسر تويتر للإعلانات. كُتبت البوت بلغة TypeScript على discord.js وتم نشرها تحت ترخيص Apache 2.0. تم تصميم موقع عرض بالتوازي مع ذلك. تم إعداد الصفحة الرئيسية، ولم تتجاوز صفحة الموسوعة مرحلة التصميم الأولي، واحتفظ المشروع بالكامل بمظهر النموذج الأولي. تم البدء في إنشاء واجهة برمجة Go لكن تم التخلي عنها بعد ثلاثة أيام. كانت هناك خطتان لإعادة الكتابة ولكن لم يتم تنفيذ أي منهما: تقسيم عميل/خادم في أواخر 2020، وواجهة Next.js في أوائل 2021. لا يزال يحتفظ كلا المستودعين بشيء سوى README. تم أرشفة المستودعات الستة، ويظل المشروع تذكيرًا بأن المجتمع يمكن أن يعيش أكثر من البرنامج الذي كتب من أجله.

الأثر والقياسات

11

أوامر البوت

من عمليات بحث الموسوعة إلى إدارة القنوات

6

المستودعات

البوت، الموقع، التصميم، الواجهة البرمجية، واثنين من إعادة الكتابة

سنتان

مدة الحياة

من أول مجتمع إلى آخر مستودع مؤرشف

الميزات الرئيسية

موسوعة العروض

بحث حسب العنوان أو النوع من ديسكورد، مع نتائج مجزأة تُعرض كمحتوى مدمج

كتالوج مستمد من المجتمع

اقترح الأعضاء العروض المفقودة، لذا نما الكتالوج مع الخادم

قنوات صوتية خاصة

قنوات تم إنشاؤها عند الطلب لمجموعة وتمت إزالتها بمجرد مغادرة الجميع

تشغيل الصوت

تشغيل الصوت داخل القناة الصوتية يتم عبر ffmpeg، مع أوامر الانضمام والمغادرة

موقع العرض

صفحة رئيسية وتصميم الموسوعة، تم تصميمهما وتجربتهما لكن لم يكتملوا

التقنيات المستخدمة

TypeScript

مصدر البوت، مكتوب بالكامل بشكل منظم

discord.js

عميل ديسكورد، تحليل الأوامر، والمحتوى المدمج المجزأ

Go

محاولة واجهة برمجة قصيرة الأمد

Bootstrap

تصميم موقع العرض

الفريق

Jérémy Baudrin

Jérémy Baudrin

Lead Developer

Lucas Bodin

Lucas Bodin

Designer

Ralph

Product Manager

التحديات التي واجهتنا

  • عرض كتالوج داخل ديسكورد، حيث أن التخطيط المتاح هو محتوى مدمج مجزأ

  • الحفاظ على كتالوج مفيد عندما يعتمد محتواه بالكامل على مساهمات الأعضاء

  • إنشاء وتدمير قنوات صوتية بدون ترك غرف فارغة خلفها

  • ستة مستودعات لمشروع واحد، مع وجود البوت، الموقع، التصميم، والواجهة البرمجية في أماكن منفصلة

الدروس المستفادة

  • استخدم البوت بشكل يومي، بينما لم يتم إطلاق الموقع: السطح الذي يعيش فيه الناس بالفعل هو الذي ينجح

  • خادم ديسكورد يحمل القيمة، بينما كان البرنامج مجرد وسيلة واحدة لتقديمها

  • بدأت إعادة كاتبتين من مستودع فارغ ولم يتم إنهاء أي منهما

  • بناء مجتمع حول علامة تجارية لشخص آخر يحدد مدى تقدم المشروع

وجهات نظر مستقبلية

تم أرشفة جميع المستودعات الستة وهي في وضع القراءة فقط

مهتم بهذا المشروع؟

اكتشف كيف يمكننا مساعدتك في إنشاء مشروع مماثل.