الفصل 03

مشاريع GitHub

أدوات مفتوحة المصدر وُلدت من احتياجات حقيقية في بيئة الإنتاج: دمج واجهة Uber Eats، وتوليد واجهات CRUD، وأدوات لـ Symfony.

  1. 3.1

    Pepprio

    منصة SaaS لإدارة طلبات المطاعم: Uber Eats وDeliveroo وJust Eat وGlovo على جهاز لوحي واحد، مع نقطة بيع وشاشة مطبخ وكشك ومعالجة تلقائية للنزاعات.

    • PHP 8.4
    • Symfony 7
    • GraphQL
    • Vue 3
    • TypeScript
    • MySQL
    • Redis
    • Stripe
    • Docker
    • Traefik
    www.pepprio.com ↗
  2. 3.2

    OrpiHub

    منصة بيانات شبكة ORPI (مشروع داخلي): القيادة التجارية والخرائط والتصدير وتدقيق الوكالات ومساعد ذكاء اصطناعي مع خادم MCP وRAG.

    • Symfony
    • PHP 8
    • React
    • TypeScript
    • GraphQL
    • SQL Server
    • MySQL
    • PostgreSQL
    • BigQuery
    • Docker
    www.orpi.com ↗
  3. 3.3

    UberEat PHP SDK

    مكتبة PHP لدمج واجهة برمجة UberEat

    • دمج كامل لواجهة برمجة UberEat
    • إدارة الطلبات والقوائم
    • توثيق مفصل وأمثلة
    • PHP
    • REST APIs
    • PHPUnit
    • GitHub Actions
    github.com/pepprio/uber-eats-sdk-php ↗
  4. 3.4

    Symfony CRUD Template Bundle

    حزمة لإنشاء واجهات CRUD بسرعة

    • PHP
    • Symfony
    • Twig
    • JavaScript
    github.com/BenMacha/Templatebundle ↗
  5. 3.5

    Symfony Mouse Tracker

    حزمة لتتبع تفاعلات المستخدم

    • PHP
    • Symfony
    • React
    • VueJS
    • TypeScript
    github.com/BenMacha/mouseTracker ↗
  6. 3.6

    Symfony Diagram Bundle

    مولد المخططات لمشاريع Symfony

    • PHP
    • Symfony
    • Doctrine
    • React
    • VueJS
    • TypeScript
    github.com/BenMacha/diagram-bundle ↗
  7. 3.7

    Symfony Audit Bundle

    تدقيق تعديلات كيانات Doctrine مع إمكانية التراجع وواجهة ويب وواجهة REST.

    • PHP
    • Symfony
    • Doctrine
    • Twig
    • REST APIs
    github.com/BenMacha/audit-bundle ↗
  8. 3.8

    AuthX Bundle

    المصادقة والتفويض في Symfony: JWT وOpenID Connect وإدارة المستخدمين وسجل التدقيق والاشتراكات.

    • PHP
    • Symfony
    • JWT
    • OpenID Connect
    • Twig
    github.com/BenMacha/authx-bundle ↗
  9. 3.9

    Omnimail MCP

    خادم MCP مفتوح المصدر لعدة حسابات بريد (iCloud وGmail وOutlook وYahoo وProton وInfomaniak وIMAP)، مع Docker ومتوافق مع RGPD.

    • MCP
    • IMAP
    • Docker
    github.com/BenMacha/omnimail-mcp ↗
  10. 3.10

    Portfolio benmacha.tn

    هذا الموقع: كتاب تقني بثلاث لغات (FR / EN / AR) مبني بـ Nuxt 3 ومولَّد مسبقًا، مع رسوم متساوية القياس.

    • Nuxt
    • VueJS
    • TypeScript
    • GitHub Actions
    github.com/BenMacha/benmacha.github.io ↗

لماذا هذه المشاريع مفتوحة المصدر

وُلد كل مشروع من هذه المشاريع من حاجة واجهتها في بيئة الإنتاج: تكامل يجب كتابته، أو مهمة متكررة يجب أتمتتها، أو معلومة يصعب الحصول عليها. وبدلًا من إبقاء الشيفرة داخل مشروع واحد، استخرجتها ووثّقتها ونشرتها على GitHub وPackagist ليستفيد منها مطورو PHP وSymfony الآخرون.

تغطي هذه المستودعات عدة أجيال من Symfony، من أولى الحزم المكتوبة عام 2017 إلى الإصدارات الحديثة المصانة لـ Symfony 7. وهي تُظهر أيضًا طريقتي في العمل: شيفرة محددة الأنواع، وأدوات تحليل ساكن، وتكامل مستمر، وتوثيق واضح من الصفحة الرئيسية للمستودع.

UberEats PHP SDK: تكامل نظيف مع واجهة Uber Eats

حزمة UberEats SDK عميل PHP حديث لواجهة Uber Eats البرمجية، متوافق مع PHP 7.4 وما بعده. يتولى المصادقة والطلبات والمتاجر وعمليات التوصيل، إضافة إلى webhooks. وتُمثَّل الطلبات والاستجابات بكائنات محددة الأنواع، مما يجنّب التعامل مع مصفوفات ترابطية هشّة.

يعتمد المشروع على Guzzle لطلبات HTTP ويقبل مسجّلًا اختياريًا متوافقًا مع PSR-3. وتُفحص الجودة تلقائيًا: أسلوب كتابة PSR-12 عبر PHP CS Fixer، وPHPStan في أعلى مستوى، واختبارات تعمل في التكامل المستمر على GitHub Actions. ويُثبَّت عبر Composer من خلال الحزمة ubereats/php-sdk.

حزم Symfony

توفّر حزمة Template Bundle ‏(benmacha/templatebundle) واجهة إدارة جاهزة للاستخدام وأمرًا هو benmacha:generate:crud يولّد واجهة CRUD كاملة مع مدخلها في القائمة. وهذا يوفّر وقتًا حقيقيًا في لوحات الإدارة الداخلية التي تحتاج إلى شاشات إدارة كثيرة ومتشابهة.

أما MouseTrackerBundle ‏(benmacha/mousetracker) فهي أداة ذاتية الاستضافة لتتبع الفأرة في Symfony 5.4 و6.4 و7.x، على PHP 8.1 وما بعده. تسجّل الحركات والنقرات والتمرير ولقطات من DOM في قاعدة بياناتك الخاصة، لإنتاج خرائط حرارية وإعادة تشغيل الجلسات دون إرسال بيانات مستخدميك إلى خدمة خارجية. ولم يعد الإصدار 2 يعتمد على jQuery.

وتقوم DiagramBundle ‏(benmacha/diagram-bundle)، المنشورة بترخيص MIT، برسم كيانات قاعدة البيانات والعلاقات التي تربط بينها. وهي تساعد على فهم نموذج بيانات مشروع Symfony قائم بسرعة، مثلًا عند استلام شيفرة موجودة أو انضمام مطوّر جديد إلى الفريق.

الاستخدام أو المساهمة

تُثبَّت كل هذه الحزم عبر Composer، ويوجد توثيقها مباشرة في مستودع GitHub. والبلاغات وطلبات الدمج مرحّب بها: فتقرير دقيق عن خطأ أو تحسين في التوثيق يُعدّ مساهمة مفيدة. ولأي حاجة أكثر تحديدًا تتعلق بـ Symfony أو بتكامل واجهة برمجية، يمكنك التواصل معي مباشرة.