The Thread
Solo build · Design & Engineering
موقع يرتّب لك مشاهدة عالم مارفل. اختر عملًا واحدًا، ويخبرك الموقع بما يجب أن تشاهده قبله، بأقصر ترتيب ممكن، عبر ثمانية أكوان و216 فيلمًا ومسلسلًا. فيه 699 شخصية و1,893 صفحة ثابتة، ويعمل بالعربية والإنجليزية. مشروع مستقل من صنع أحد المعجبين، ولا صلة له بمارفل أو ديزني.


- الأعمال
- 216الأعمال
- الشخصيات
- 699الشخصيات
- الصفحات الثابتة
- 1,893الصفحات الثابتة
- اختبارات الوحدة
- 321اختبارات الوحدة
- طلبات خارجية أثناء التصفح
- 0طلبات خارجية أثناء التصفح
- الإيداعات
- 240الإيداعات
01 / 07
مدخلان
قوائم ترتيب المشاهدة كثيرة، لكنها كلها تضع المبتدئ والمشاهد المتمرّس في صفحة واحدة، فلا تريح هذا ولا ذاك. في The Thread لكل واحد منهما مدخله. المبتدئ يبدأ بملحمة اللانهاية: 23 فيلمًا في نحو 50 ساعة، من Iron Man إلى Far From Home. والمتمرّس يكتب اسم ما يريد مشاهدته فيحصل على ما يسبقه. والفكرة كلها تقوم على ألا يُجبر هذان الشخصان على شاشة واحدة.
- أفلام البداية
- 23
- مدتها تقريبًا
- 50h
02 / 07
الترتيب يُحسب ولا يُكتب
كل عمل في الموقع عنصر في شبكة، وكل علاقة «شاهد هذا أولًا» رابط بين عنصرين. ترتيب العرض، وقائمة البداية، والترتيب القصصي لكل كون، والمسار إلى أي عمل، كلها تُستخرج من هذه الشبكة الواحدة. لا توجد في المشروع قائمة واحدة مكتوبة باليد. وهناك ثلاثة أنواع من العلاقات تُحفظ منفصلة لأن لكل منها معنى مختلفًا: ما يجب مشاهدته أولًا، وما يُستحسن مشاهدته أولًا، وترتيب القراءة المختار داخل الكون الواحد، وهذا الأخير ليس شرطًا ويجب ألا يُحفظ كأنه شرط.
المحتوى مكتوب بلغة TypeScript ويتحقق منه zod، ويتوقف البناء إذا خُرقت أي قاعدة من نحو اثنتي عشرة قاعدة تربط الأعمال ببعضها. إذا وُجدت حلقة مفرغة في العلاقات ظهر مسارها كاملًا لا مجرد إشارة إلى وجودها. وإذا اعتمد عمل أساسي على عمل غير أساسي توقف البناء. وإذا رُبط كونان دون ملاحظة تشرح السبب توقف البناء. وإذا نقصت مدة عمل توقف البناء بدل أن ينشر رقمًا خاطئًا بثقة.
- عمل في الشبكة
- 216
- الأكوان
- 8
03 / 07
الظهور يُستخرج ولا يُكتب
تُعدّ الشخصية ظاهرة في عمل ما إذا ورد اسمها في قائمة ممثليه. لا يُكتب شيء مرتين، لأن النسخة الثانية من أي معلومة تتقادم مع الوقت. وأداة المطابقة تعرف الأسماء البديلة وتفهم الطريقة التي تُكتب بها القوائم فعلًا، مثل Logan / Wolverine أو Ted (Man-Thing). وتقارن الأسماء كاملة لا أجزاءً منها، بعد أن وضعت مطابقة جزئية قديمة Vision في كل عمل ورد فيه لفظ Television. ولا يوجد سوى استثناءين: أحدهما لظهور حقيقي لم يُذكر في القوائم، والآخر لاسم في القائمة يُقصد به شخص آخر، وهذا الأخير يوقف البناء تلقائيًا إذا لم يعد له داعٍ.
- الشخصيات
- 699
- الحلقات
- 2,193
04 / 07
ترتيب للقوة بلا رقم ترتيب
الشخصيات الـ699 كلها مرتبة حسب القوة، ومع ذلك لا يوجد حقل يحمل رقم ترتيب أي منها. الترتيب يُحسب من نوع الشخصية، ودرجة التحوّل، والانتماء، ونقاط القوة المذكورة في وصفها، عبر محرّك صغير يفهم المفردات، مع ترتيب يدوي لرأس كل درجة حيث تتفق المصادر. إضافة شخصية جديدة لا تغيّر رقم أحد. والدرس المكتوب في الشيفرة أكثر من مرة: إذا بدا ترتيب شخصية خاطئًا فالسبب في الغالب وصف ناقص أو كلمة أساء المحرّك فهمها، لا خلل في الترتيب نفسه. ووثائق الدرجات تُولَّد من التعريف ذاته، فلا يمكن أن تختلف عمّا في الموقع.
05 / 07
صور بلا تكلفة
216 ملصقًا و699 صورة شخصية ومعارض الصور استهلكت كلها حصة Vercel المجانية لمعالجة الصور. وحين تنفد الحصة لا تتراجع الخدمة بهدوء بل تعطّل الصور تمامًا، فاختفى معظمها من الموقع المنشور بينما كان كل شيء سليمًا على جهازي. كان الحل إخراج Vercel من مسار الصور نهائيًا: TMDB يقدّم الملصقات بالعرض المطلوب مكتوبًا في الرابط، ومضيف واحد من ثمانية عشر يرفض الربط المباشر فيمرّ عبر وسيط مجاني، وما عداه يُستخدم كما هو. تصفّح الموقع كاملًا الآن لا يُنتج طلبًا مدفوعًا واحدًا.
- طلبات صور مدفوعة
- 0
06 / 07
عربية تُكتب ولا تُترجم
اتجاه كامل من اليمين إلى اليسار، وخط عربي للعناوين وآخر للنصوص، كلاهما مستضاف على الموقع نفسه. والأرقام غربية عن قصد، لأنها ما تعتمده تطبيقات البث والبنوك في الخليج. ويحرس اختبار واحد حقيقة يكتشفها معظم المطوّرين متأخرين: أن \b و\w في JavaScript لا تفهم إلا حروف ASCII وتمرّ على النص العربي كأنه لا شيء، وهو ما أفسد تعبيرًا يسمّي المواسم دون أن يلاحظ أحد. والتقريب يُكتب بكلمة «نحو» لا بعلامة ~، لأن العلامة لا اتجاه لها فتقع في الجهة الخطأ من الرقم داخل الفقرة العربية.
07 / 07
اختبارات تحمل أسماء الأخطاء التي كشفتها
مجموعة الاختبارات موثّقة بما كشفته من أخطاء، لا بنسبة التغطية. اختبار عرض كشف 130 صفحة تظهر فارغة رغم نجاح البناء. واختبار شامل كشف أن سياسة أمان المحتوى تمنع كل السكربتات. واختبار تباين أثبت أن ما ادّعاه موجز التصميم عن الأحمر على الخلفية الداكنة غير صحيح: 4.04 إلى 1، لا 4.5. ومصفوفة لقطات شاشة تجمع العروض والسمات والمسارات كشفت أن الوضع الداكن لم يُعرض طوال أربعة إيداعات، وأن مدة عربية ظهرت 44 ساعة بدل ساعة و44 دقيقة.
- اختبارات الوحدة
- 321
- اختبارات المتصفح
- 55