كل الأعمال
High School Champions League
رياضة وفعاليات · تقنية تعليمية

High School Champions League

منصّة دوري أبطال مدرسية متعدّدة المناطق ومتعدّدة الرياضات: موقع عام يتصفّح فيه الجمهور المناطق والفِرق والمباريات وجداول الترتيب والأخبار والبودكاست والفيديو، تدعمه لوحة إدارة يدير بها مشغّلو الدوري موسم كرة قدم من البداية إلى النهاية — من قرعة المجموعات إلى الترتيب المُحتسب تلقائيًا إلى قوس إقصاء مُوزَّع تلقائيًا.

محرّك بطولات قابل للتهيئة — مجموعات ← ترتيب تلقائي ← أقواس إقصاءلوحة إدارة مُقسّمة حسب المناطق بصلاحيات حسب الدور (مسؤول أعلى · مسؤول منطقة)منشورة ومتاحة للعامة
رسم تقني متساوي القياس لمعمارية High School Champions League
المشكلة
إدارة دوري بين المدارس عبر مناطق متعدّدة تعني التوفيق بين هيكل البطولة والمباريات والنتائج الحيّة وجداول الترتيب وقوائم الفِرق والإعلانات — وهو عمل يعيش عادةً في جداول البيانات والأقواس اليدوية. ينحرف الترتيب عن النتائج، وتُعاد حسبة ترتيب الإقصاء يدويًا، وتحتاج كل منطقة إلى عرض عام خاص بها ولوحة إدارة خاصة بها، ولا يوجد بيت عام واحد يتابع فيه اللاعبون وأولياء الأمور والجمهور موسم فريقهم.
المنهجية
بنينا تطبيقًا واحدًا على Next.js 15 فوق خلفية Drizzle و Neon Postgres، مقسّمًا إلى تجربة عامة ولوحة إدارة مُقسّمة حسب المناطق فوق نموذج BetterAuth واحد. الوصول قائم على الأدوار: يدير المسؤول الأعلى المستخدمين ودعوات المسؤولين، بينما يُقصَر مسؤولو المناطق على المناطق التي يديرونها. نموذج البيانات متعدّد الرياضات (فِرق موسومة بالرياضة فوق محرّك غير مرتبط برياضة بعينها)، ويشغّل حاليًا كرة القدم. والجوهر محرّك بطولات قابل للتهيئة: يحدّد المشغّل عدد المجموعات وعدد المتأهّلين من كل مجموعة وصيغة الإقصاء بمباراة واحدة أو ذهابًا وإيابًا وما إذا كان التعادل مسموحًا؛ ثم تُوزّع المنصّة الفِرق على المجموعات تلقائيًا، وتولّد جدول مباريات الدوري الكامل، وتسجّل النتائج، وتُعيد حساب الترتيب تلقائيًا عند كل نتيجة (لعب/فاز/تعادل/خسر، الأهداف له وعليه، فارق الأهداف، النقاط باحتساب ٣ للفوز، المركز، نتائج آخر ٥ مباريات، وحالة التأهّل، مرتَّبًا حسب النقاط ثم الفارق ثم الأهداف المسجَّلة). وعند اكتمال دور المجموعات يُوزَّع قوس الإقصاء تلقائيًا بحجم يناسب عدد المتأهّلين بمواجهة المتصدّرين مع الوصفاء؛ وتُحسم مواجهات الذهاب والإياب بمجموع الهدفين مع قاعدة هدف الخارج، وتتقدّم الأدوار تلقائيًا عبر دورة حياة مسودّة ← دور المجموعات ← الإقصاء ← مكتملة. وحول ذلك يقوم النطاق الكامل — المناطق، والمواسم، والفِرق (بمدرّبيها وشعاراتها)، والمباريات، وجداول الترتيب العامة، ونظام أخبار بـ Tiptap بوسائط تدعم YouTube، ووحدة تحديثات بودكاست وفيديو، ورعاية، وركن للمدرّبين. ويساعد OpenAI في تحرير المحتوى (أسماء أيقونات للموارد، عناوين للتحديثات، مع بديل غير معتمد على الذكاء الاصطناعي في كل حالة)؛ وتمرّ الوسائط عبر UploadThing والبريد المعامِلي عبر Resend.
النتيجة
المنصّة منشورة ومتاحة للعامة، تمنح كل منطقة بيتًا عامًا بهويتها — الفِرق والمباريات وجداول الترتيب والأخبار والبودكاست والفيديو — بينما يدير المشغّلون موسم كرة القدم من لوحة إدارة واحدة: إنشاء بطولة، وتسجيل الفِرق في المجموعات، وإدخال النتائج، وترك الترتيب وقوس الإقصاء يُحتسبان ويُوزَّعان ذاتيًا بدلًا من صيانتهما يدويًا. ويُحصَر مسؤولو المناطق في مناطقهم بينما يدعو مسؤول أعلى فريق التشغيل ويديره.
من داخل المنتج
لقطة شاشة من منتج High School Champions League
لقطة شاشة من منتج High School Champions League
نطاق الارتباط
  • موقع عام: مُحدِّد المناطق، والفِرق والمباريات وجداول الترتيب والأخبار وموجز تحديثات بودكاست/فيديو لكل منطقة
  • محرّك بطولات قابل للتهيئة: عدد المجموعات، المتأهّلون من كل مجموعة، إقصاء بمباراة واحدة/ذهاب وإياب، خيار التعادل، ودورة حياة مسودّة ← دور المجموعات ← الإقصاء ← مكتملة
  • مباريات مجموعات تلقائية وترتيب مُعاد حسابه تلقائيًا (لعب/فوز/تعادل/خسارة، الأهداف له وعليه، الفارق، نقاط ٣/١/٠، نتائج آخر ٥، المركز، التأهّل)، مرتَّبًا حسب النقاط ثم الفارق ثم الأهداف
  • قوس إقصاء مُوزَّع تلقائيًا بحجم يناسب عدد المتأهّلين؛ مواجهات ذهاب وإياب تُحسم بمجموع الهدفين مع قاعدة هدف الخارج وتقدّم تلقائي للأدوار
  • لوحة إدارة مُقسّمة حسب المناطق فوق BetterAuth: إدارة مستخدمين ودعوات بالبريد للمسؤول الأعلى، ومسؤولو مناطق محصورون في مناطقهم
  • إدارة الفِرق والمدرّبين والرياضات والمواسم والمناطق والمباريات مع معالجة الشعارات/الوسائط عبر UploadThing
  • محرّر أخبار Tiptap (وسائط تدعم YouTube، ووسم الفِرق)، ووحدة رعاية، وركن للمدرّبين؛ وتحرير بمساعدة OpenAI مع بدائل غير معتمدة على الذكاء الاصطناعي
  • جاهزة للسيو: بيانات وصفية لكل مسار، بيانات SportsOrganization المنظّمة، خريطة موقع، robots، وتحليلات
Next.js 15TypeScriptDrizzle ORMNeon PostgresBetterAuthshadcn/ui (Radix)UploadThingTiptapResendOpenAIRecharts
زيارة الموقع