نحن نحب سماع الأفكار من مستخدمينا! هذا ما يجعل هذه المنصة رائعة وموثوقة. إذا كان لديك فكرة للمساهمة، يرجى تخصيص لحظة لمشاركتها معنا!
يرحب المشروع ويعتمد على مساهمات المطورين والمستخدمين من مجتمع المصادر المفتوحة. يمكن القيام بالمساهمات بعدة طرق:
- إصلاحات الأكواد عبر طلبات السحب
- تحسينات التوثيق
- تقارير الأخطاء ومراجعة الإصلاحات
الخطوات الأولى
- اقرأ هذه الصفحة بالكامل “من الأعلى إلى الأسفل”.
- تأكد من أن لديك حساب GitHub.
- قدم نفسك في دردشة المطورين على Discord.
- راجع صفحة المشاكل المفتوحة. لقد جعلنا الأمر سهلاً للمبتدئين باستخدام علامة good first issue — هذه مشاكل يجب أن تكون سهلة نسبياً في الحل.
- استمتع!
إعداد بيئة التطوير
البدء السريع (موصى به)
🚀 GitHub Codespaces (الأسهل):
- انقر على “Code” → “Codespaces” → “Create codespace on [branch]”
- انتظر 2-3 دقائق للإعداد التلقائي
- افتح
http://localhostوسجل الدخول باستخدامadmin/changeme
🐳 حاويات تطوير VS Code:
- ثبّت ملحق “Dev Containers” في VS Code
- افتح هذا المستودع في VS Code
- انقر على “Reopen in Container” عند الطلب
- انتظر اكتمال الإعداد
🔧 DDEV (Docker محلي):
- ثبّت DDEV و Docker
- استنسخ المستودع وقم بتشغيل:
git clone https://github.com/ChurchCRM/CRM.git churchcrm cd churchcrm ddev start ddev setup-churchcrm - افتح https://churchcrm.ddev.site وسجل الدخول باستخدام
admin/changeme
انظر إعداد DDEV أدناه للتفاصيل الكاملة واستكشاف الأخطاء وإصلاحها.
الإعداد اليدوي
إذا كنت تفضل الإعداد اليدوي أو إذا لم تعمل الخيارات التلقائية:
تثبيت المتطلبات الأساسية:
- Git أو GitHub Desktop
- Node.js الإصدار 20+
- Docker
- PHP 8.4+ مع الامتدادات:
bcmath,curl,gd,gettext,iconv,mbstring,mysqli,pdo_mysql,sodium,zip,zlib - Composer (مدير اعتماديات PHP)
استنسخ والإعداد:
git clone https://github.com/your-username/ChurchCRM.git cd ChurchCRM ./scripts/setup-dev-environment.shالوصول إلى موقع الويب:
- ChurchCRM: http://localhost/ (
admin/changeme) - MailHog: http://localhost:8025 (اختبار البريد الإلكتروني)
- Adminer: http://localhost:8088 (إدارة قاعدة البيانات)
- ChurchCRM: http://localhost/ (
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة:
- تضارب المنفذ 80: أوقف خوادم ويب أخرى أو غيّر تعيين منفذ Docker
- فشل إنشاء Docker: تأكد من أن Docker لديها 4GB+ من الذاكرة المخصصة
- الخدمات لا تبدأ: قم بتشغيل
npm run docker:dev:logsللتحقق من السجلات - فشلت الاختبارات محلياً: استخدم
npm run docker:test:rebuildلبيئة اختبار نظيفة - امتدادات PHP المفقودة: استخدم حاويات Docker - لا تقم بالإنشاء محلياً
- مخطط قاعدة البيانات قديم: قم بتشغيل
npm run docker:test:restart:dbللتحديث
إعداد DDEV
DDEV هي بيئة تطوير محلية قائمة على Docker توفر PHP و MariaDB و Node.js و HTTPS واختبار البريد الإلكتروني بأمر واحد.
المتطلبات الأساسية
- Docker Desktop
- DDEV v1.22+
البدء السريع
git clone https://github.com/ChurchCRM/CRM.git churchcrm
cd churchcrm
ddev start
ddev setup-churchcrm
ddev launch
تسجيل الدخول: admin / changeme
عناوين URL للخدمات
| الخدمة | URL |
|---|---|
| ChurchCRM | https://churchcrm.ddev.site |
| Mailpit | https://churchcrm.ddev.site:8025 |
| MySQL | ddev mysql |
سير العمل اليومي
ddev start # بدء الخدمات
ddev stop # إيقاف الخدمات
ddev ssh # الوصول إلى shell
ddev logs # عرض السجلات
استكشاف أخطاء DDEV وإصلاحها
| المشكلة | الحل |
|---|---|
ddev start فشل | تأكد من تشغيل Docker: docker info |
| لم يتم إنشاء Config.php | قم بتشغيل ddev exec cp /var/www/html/.ddev/Config.ddev.php /var/www/html/src/Include/Config.php |
| قاعدة البيانات فارغة | أعد الاستيراد: ddev import-db --file=cypress/data/seed.sql |
وثائق DDEV الكاملة: https://ddev.readthedocs.io
معايير التطوير
واجهة المستخدم
يستخدم ChurchCRM إطار work AdminLTE لواجهة المستخدم. اتبع هذه الإرشادات:
- تعرّف على AdminLTE
- حافظ على تغييرات UI متماشية مع مبادئ تصميم AdminLTE
- أنشئ ملفات CSS معيارية ومنظمة للأنماط المخصصة
- اضمن التصميم المتجاوب على جميع أحجام الشاشات
معمارية Slim MVC
للـ APIs والصفحات الجديدة، اتبع معمارية Slim MVC (Model-View-Controller).
الاختبار باستخدام Cypress
استخدم Cypress للاختبار الشامل:
npm run test # تشغيل جميع الاختبارات
npm run test:ui # الاختبار التفاعلي
هيكل الاختبار:
- اختبارات API:
cypress/e2e/api/private/[feature]/[endpoint].spec.js - اختبارات UI:
cypress/e2e/ui/[feature]/
سير عمل التطوير
التفرع:
git checkout -b feature-nameمعايير الأكواد:
- اتبع معايير الترميز الموجودة
- الالتزم بدليل النمط في
.github/copilot-instructions.md - استخدم رسائل التزام وصفية
الاختبار:
- اكتب اختبارات لتغييراتك باستخدام Cypress
- حدث التوثيق حسب الحاجة
عملية طلب السحب:
git pull origin master git rebase master git push origin feature-name
معايير الترميز
يحافظ ChurchCRM على معايير جودة أكواد صارمة:
- ✅ قاعدة البيانات: ORM Propel إلزامي (بدون SQL خام)
- ✅ HTML5: CSS Bootstrap 4.6.2 فقط
- ✅ الخدمات: منطق الأعمال في فئات Service
- ✅ PHP 8.4+: أنواع nullable صريحة
- ✅ i18n: غلّف نص UI باستخدام
gettext()أوi18next.t()
للمعايير الكاملة، انظر .github/copilot-instructions.md
قواعس السلوك
يرجى الالتزام بـ قواعس السلوك في جميع التفاعلات.
شكراً على مساهمتك!