منصة Im7o هي منصة ألعاب جماعية وحفلات (Party Games) مبنية على نظام أوبن سورس يتيح لأي شخص ابتكار وإضافة ألعابه الخاصة. تعتمد المنصة على معمارية مبتكرة حيث تعمل كـ Custom Git-Backed CMS: أي لعبة يتم إنشاؤها عبر لوحة تحكم المنصة تتحول تلقائياً إلى Pull Request على Github، وبمجرد موافقة الإدارة، تصبح اللعبة متاحة فوراً لجميع اللاعبين!
- محركات ألعاب متعددة: المنصة ليست مقتصرة على شكل واحد من الألعاب. بل تمتلك نظام Engines متقدم يتيح ابتكار ميكانيكيات لعب مختلفة:
Classic: كلاسيكي بالدور المباشر.MCQ / Trivia: سؤال وجواب (يخفي الإجابة حتى يقرر المضيف إظهارها).Taboo: الكلمات الممنوعة (يعرض الكلمة المراد تخمينها مع قائمة بالكلمات الممنوع نطقها).Hot Potato: البطاطس الساخنة (تمرير الهاتف مع عداد قنبلة متسارع).Imposter / Spyfall: الجاسوس (تمرير الهاتف لرؤية الأدوار السرية ثم الاستجواب).
- نظام الإجابات المرن: إمكانية جعل اللعب "بالدور (Sequential)" أو "مفتوح للجميع (Open)" بحيث يكسب النقطة الفريق الأسرع.
- إدارة المحتوى عبر Github (CMS): لوحة تحكم لصناع الألعاب ترفع الإضافات مباشرة كطلبات سحب (Pull Requests).
- لوحة تحكم المشرفين: واجهة أنيقة للأدمن لاستعراض البطاقات (معاينة شاملة) وقبول الألعاب أو رفضها بضغطة زر.
- OAuth Authentication: تسجيل الدخول باستخدام حسابات Google.
يتكون المشروع من شقين:
- Frontend (Next.js): واجهة المستخدم الأساسية (متواجدة في هذا المستودع)، وتتضمن شاشات اللعب وموجه المحركات ولوحات التحكم (Creator & Admin). تعتمد في قراءة الألعاب على ملفات الـ JSON في
src/data/games/وsrc/data/cards/. - Backend (FastAPI): خدمة خفيفة ومستقلة لإدارة عمليات الـ OAuth، واستقبال طلبات لوحة التحكم، والتواصل مع واجهة Github API (لإنشاء الفروع والـ Commits والـ Pull Requests).
نحن نرحب جداً بمساهماتكم! قمنا بتقسيم إرشادات المساهمة لتسهيل الأمر:
يمكنك المساهمة وإضافة ألعاب بطريقتين:
- من داخل المنصة مباشرة: استخدام لوحة تحكم الصانع (Creator Dashboard) الأنيقة والتي ستتكفل بكل شيء تقنياً.
- يدوياً عبر Github: لأصحاب الخبرة التقنية الذين يفضلون كتابة ملفات الـ JSON مباشرة ورفع Pull Request.
👉 اقرأ الدليل الكامل لإضافة الألعاب هنا (CONTRIBUTING-GAMES.md)
إذا أردت تطوير محرك ألعاب جديد (Engine) بفكرة مبتكرة، أو تحسين واجهات المنصة الحالية، يسعدنا ذلك جداً!
👉 اقرأ الدليل الكامل للمساهمة البرمجية هنا (CONTRIBUTING-CODE.md)
- Node.js
- Python (لتشغيل الباك إند)
- حساب Github و Personal Access Token (بصلاحيات
repoوcontents: write) لرفع الـ Pull Requests.
- قم باستنساخ المشروع وتثبيت الحزم للواجهة الأمامية (
npm install). - قم بتشغيل الواجهة الأمامية عبر
npm run dev. - قم بإعداد الباك إند (FastAPI) وتثبيت الاعتماديات، وتشغيله عبر Uvicorn (
uvicorn main:app --reload). - تأكد من إعداد ملف
.envفي الباك إند ليتضمن الـGITHUB_TOKENواسم المستودع المستهدف.
تمت البرمجة بشغف 🚀. نتطلع لرؤية إبداعاتكم!