Skip to content

Imhotep-Tech/im7o

Repository files navigation

Im7o (إيمحو) - The Ultimate Party Games Platform 🎲

منصة 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.

🛠️ كيف تعمل المنصة؟ (Architecture)

يتكون المشروع من شقين:

  1. Frontend (Next.js): واجهة المستخدم الأساسية (متواجدة في هذا المستودع)، وتتضمن شاشات اللعب وموجه المحركات ولوحات التحكم (Creator & Admin). تعتمد في قراءة الألعاب على ملفات الـ JSON في src/data/games/ و src/data/cards/.
  2. Backend (FastAPI): خدمة خفيفة ومستقلة لإدارة عمليات الـ OAuth، واستقبال طلبات لوحة التحكم، والتواصل مع واجهة Github API (لإنشاء الفروع والـ Commits والـ Pull Requests).

🤝 المساهمة في المشروع (Contributing)

نحن نرحب جداً بمساهماتكم! قمنا بتقسيم إرشادات المساهمة لتسهيل الأمر:

1. المساهمة بإضافة ألعاب (لصناع المحتوى والمؤلفين)

يمكنك المساهمة وإضافة ألعاب بطريقتين:

  • من داخل المنصة مباشرة: استخدام لوحة تحكم الصانع (Creator Dashboard) الأنيقة والتي ستتكفل بكل شيء تقنياً.
  • يدوياً عبر Github: لأصحاب الخبرة التقنية الذين يفضلون كتابة ملفات الـ JSON مباشرة ورفع Pull Request.

👉 اقرأ الدليل الكامل لإضافة الألعاب هنا (CONTRIBUTING-GAMES.md)

2. المساهمة البرمجية (للمطورين)

إذا أردت تطوير محرك ألعاب جديد (Engine) بفكرة مبتكرة، أو تحسين واجهات المنصة الحالية، يسعدنا ذلك جداً!

👉 اقرأ الدليل الكامل للمساهمة البرمجية هنا (CONTRIBUTING-CODE.md)


🚀 تشغيل المشروع محلياً (Local Development)

متطلبات التشغيل

  • Node.js
  • Python (لتشغيل الباك إند)
  • حساب Github و Personal Access Token (بصلاحيات repo و contents: write) لرفع الـ Pull Requests.

خطوات التشغيل

  1. قم باستنساخ المشروع وتثبيت الحزم للواجهة الأمامية (npm install).
  2. قم بتشغيل الواجهة الأمامية عبر npm run dev.
  3. قم بإعداد الباك إند (FastAPI) وتثبيت الاعتماديات، وتشغيله عبر Uvicorn (uvicorn main:app --reload).
  4. تأكد من إعداد ملف .env في الباك إند ليتضمن الـ GITHUB_TOKEN واسم المستودع المستهدف.

تمت البرمجة بشغف 🚀. نتطلع لرؤية إبداعاتكم!

About

إيمحو هو منصة ألعاب جماعية عربية، مفتوحة المصدر ومصممة بالكامل للهواتف الذكية. التطبيق يعمل بدون إنترنت (Offline-first) كـ PWA ليناسب رحلات الصيف والمصايف والتجمعات الشبابية، حيث يمكن للجميع اللعب معاً وجهاً لوجه من خلال هاتف واحد فقط وبدون أي إعلانات أو تكاليف. المشروع يأتي كإضافة ترفيهية مميزة ومفتوحة للمساهمة من تطوير شركة Imhotep Tech

Resources

Stars

Watchers

Forks

Contributors

Languages