# دليل المساهمة في ConnectHub ## 🙏 شكراً لاهتمامك بالمساهمة! نرحب بالمساهمات من الجميع! هذا الدليل سيساعدك على فهم كيفية المساهمة في تطوير ConnectHub. ## 🤝 أنواع المساهمات المرحب بها ### 🐛 إبلاغ الأخطاء - تأكد من أن الخطأ لم يتم الإبلاغ عنه مسبقاً - استخدم قالب إبلاغ الأخطاء - اذكر خطوات إعادة الإنتاج - اذكر المتصفح ونظام التشغيل ### ✨ اقتراح ميزات جديدة - تأكد من أن الميزة تتماشى مع أهداف المشروع - اشرح لماذا هذه الميزة مفيدة - قدم تصوراً للتنفيذ إن أمكن ### 📝 تحسين الوثائق - إصلاح الأخطاء الإملائية - تحسين الشرح - إضافة أمثلة - ترجمة الوثائق ### 💻 تطوير الكود - إصلاح الأخطاء - تنفيذ ميزات جديدة - تحسين الأداء - تحسين الأمان ## 🚀 كيفية البدء ### 1. إعداد البيئة المحلية ```bash # نسخ المستودع git clone https://github.com/yourusername/connecthub.git cd connecthub # تثبيت الاعتمادات (اختياري للتطوير) npm install # تشغيل الخادم المحلي npm start ``` ### 2. إنشاء فرع جديد ```bash git checkout -b feature/اسم-الميزة # أو git checkout -b bugfix/وصف-الإصلاح ``` ### 3. تطبيق التغييرات - اتبع معايير الكتابة المذكورة أدناه - اختبر تغييراتك على متصفحات مختلفة - تأكد من أن التطبيق يعمل بشكل صحيح ### 4. إرسال Pull Request ```bash 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 ### التعليقات ```javascript // للتعليقات السطر الواحد /** * للتعليقات متعددة الأسطر * تشرح وظيفة الدالة أو الكلاس * @param {string} param1 - وصف المعامل * @returns {boolean} - وصف القيمة المرجعة */ ``` ## 🧪 الاختبار ### الاختبار اليدوي - اختبر على Chrome, Firefox, Safari, Edge - اختبر على أجهزة مختلفة (desktop, mobile, tablet) - اختبر مع تفعيل/تعطيل JavaScript - اختبر إمكانية الوصول ### اختبار الميزات - تأكد من عمل التعليقات الصوتية - اختبر تبديل اللغات - تأكد من حفظ البيانات في localStorage - اختبر نظام فلترة المحتوى ## 🎨 التصميم ### الألوان ```css /* الألوان الأساسية */ --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 للنصوص الإنجليزية - تأكد من دعم الخطوط العربية - استخدم أحجام خط متسقة ## 🌍 الترجمة ### إضافة ترجمة جديدة 1. أضف النص في `translations.js` 2. تأكد من الترجمة للعربية والإنجليزية 3. استخدم مفاتيح وصفية ```javascript // في ملف translations.js ar: { new_feature: "ميزة جديدة" }, en: { new_feature: "New Feature" } ``` ## 📞 التواصل ### قنوات التواصل - GitHub Issues: للأخطاء والاقتراحات - GitHub Discussions: للنقاشات العامة - Pull Requests: لمراجعة الكود ### الحصول على المساعدة إذا كنت تحتاج مساعدة: 1. تحقق من الوثائق أولاً 2. ابحث في Issues السابقة 3. أنشئ issue جديد مع تفاصيل واضحة ## 🏆 الاعتراف بالمساهمين جميع المساهمين سيتم ذكرهم في: - قائمة المساهمين في README - صفحة الشكر في التطبيق - release notes للإصدارات الجديدة ## 📜 قواعد السلوك نحن ملتزمون بخلق بيئة ترحيبية للجميع. المشاركون متوقع منهم: - استخدام لغة ترحيبية وشاملة - احترام وجهات النظر المختلفة - تقبل النقد البناء بأناقة - التركيز على ما هو أفضل للمجتمع - إظهار التعاطف مع أعضاء المجتمع الآخرين ## 📝 قائمة المراجعة قبل إرسال Pull Request، تأكد من: - [ ] الكود يعمل بدون أخطاء - [ ] تم اختبار التغييرات - [ ] تمت إضافة/تحديث الوثائق - [ ] تمت إضافة الترجمات - [ ] الكود متوافق مع معايير المشروع - [ ] لا توجد تعارضات مع الفرع الرئيسي --- **شكراً لك على المساهمة في جعل ConnectHub أفضل! 🚀**