دليل المساهمة في ConnectHub
🙏 شكراً لاهتمامك بالمساهمة!
نرحب بالمساهمات من الجميع! هذا الدليل سيساعدك على فهم كيفية المساهمة في تطوير ConnectHub.
🤝 أنواع المساهمات المرحب بها
🐛 إبلاغ الأخطاء
- تأكد من أن الخطأ لم يتم الإبلاغ عنه مسبقاً
- استخدم قالب إبلاغ الأخطاء
- اذكر خطوات إعادة الإنتاج
- اذكر المتصفح ونظام التشغيل
✨ اقتراح ميزات جديدة
- تأكد من أن الميزة تتماشى مع أهداف المشروع
- اشرح لماذا هذه الميزة مفيدة
- قدم تصوراً للتنفيذ إن أمكن
📝 تحسين الوثائق
- إصلاح الأخطاء الإملائية
- تحسين الشرح
- إضافة أمثلة
- ترجمة الوثائق
💻 تطوير الكود
- إصلاح الأخطاء
- تنفيذ ميزات جديدة
- تحسين الأداء
- تحسين الأمان
🚀 كيفية البدء
1. إعداد البيئة المحلية
# نسخ المستودع
git clone https://github.com/yourusername/connecthub.git
cd connecthub
# تثبيت الاعتمادات (اختياري للتطوير)
npm install
# تشغيل الخادم المحلي
npm start
2. إنشاء فرع جديد
git checkout -b feature/اسم-الميزة
# أو
git checkout -b bugfix/وصف-الإصلاح
3. تطبيق التغييرات
- اتبع معايير الكتابة المذكورة أدناه
- اختبر تغييراتك على متصفحات مختلفة
- تأكد من أن التطبيق يعمل بشكل صحيح
4. إرسال Pull Request
git add .
git commit -m "وصف واضح للتغييرات"
git push origin feature/اسم-الميزة
📋 معايير الكتابة
HTML
- استخدم HTML5 semantic elements
- تأكد من accessibility
- اعتمد indentation ثابت (2 spaces)
CSS
- استخدم class names وصفية
- اتبع BEM methodology عند الإمكان
- استخدم CSS Grid و Flexbox للتخطيط
- تأكد من responsive design
JavaScript
- استخدم ES6+ features
- اكتب دوال واضحة ومنظمة
- أضف تعليقات للكود المعقد
- تجنب global variables
- استخدم async/await بدلاً من callbacks
التعليقات
// للتعليقات السطر الواحد
/**
* للتعليقات متعددة الأسطر
* تشرح وظيفة الدالة أو الكلاس
* @param {string} param1 - وصف المعامل
* @returns {boolean} - وصف القيمة المرجعة
*/
🧪 الاختبار
الاختبار اليدوي
- اختبر على Chrome, Firefox, Safari, Edge
- اختبر على أجهزة مختلفة (desktop, mobile, tablet)
- اختبر مع تفعيل/تعطيل JavaScript
- اختبر إمكانية الوصول
اختبار الميزات
- تأكد من عمل التعليقات الصوتية
- اختبر تبديل اللغات
- تأكد من حفظ البيانات في localStorage
- اختبر نظام فلترة المحتوى
🎨 التصميم
الألوان
/* الألوان الأساسية */
--primary-gradient: linear-gradient(135deg, #667eea, #764ba2);
--secondary-gradient: linear-gradient(135deg, #f093fb, #f5576c);
--success-color: #27ae60;
--warning-color: #f39c12;
--error-color: #e74c3c;
Typography
- استخدم Segoe UI للنصوص الإنجليزية
- تأكد من دعم الخطوط العربية
- استخدم أحجام خط متسقة
🌍 الترجمة
إضافة ترجمة جديدة
- أضف النص في
translations.js - تأكد من الترجمة للعربية والإنجليزية
- استخدم مفاتيح وصفية
// في ملف translations.js
ar: {
new_feature: "ميزة جديدة"
},
en: {
new_feature: "New Feature"
}
📞 التواصل
قنوات التواصل
- GitHub Issues: للأخطاء والاقتراحات
- GitHub Discussions: للنقاشات العامة
- Pull Requests: لمراجعة الكود
الحصول على المساعدة
إذا كنت تحتاج مساعدة:
- تحقق من الوثائق أولاً
- ابحث في Issues السابقة
- أنشئ issue جديد مع تفاصيل واضحة
🏆 الاعتراف بالمساهمين
جميع المساهمين سيتم ذكرهم في:
- قائمة المساهمين في README
- صفحة الشكر في التطبيق
- release notes للإصدارات الجديدة
📜 قواعد السلوك
نحن ملتزمون بخلق بيئة ترحيبية للجميع. المشاركون متوقع منهم:
- استخدام لغة ترحيبية وشاملة
- احترام وجهات النظر المختلفة
- تقبل النقد البناء بأناقة
- التركيز على ما هو أفضل للمجتمع
- إظهار التعاطف مع أعضاء المجتمع الآخرين
📝 قائمة المراجعة
قبل إرسال Pull Request، تأكد من:
- الكود يعمل بدون أخطاء
- تم اختبار التغييرات
- تمت إضافة/تحديث الوثائق
- تمت إضافة الترجمات
- الكود متوافق مع معايير المشروع
- لا توجد تعارضات مع الفرع الرئيسي
شكراً لك على المساهمة في جعل ConnectHub أفضل! 🚀