شكراً لاهتمامك بالمساهمة في مشروع شفا! 🎉
عند الإبلاغ عن مشكلة، يرجى تضمين:
- وصف واضح للمشكلة
- خطوات إعادة إنتاج المشكلة
- السلوك المتوقع vs السلوك الفعلي
- لقطات شاشة (إن وجدت)
- معلومات البيئة (المتصفح، نظام التشغيل)
- وصف واضح للميزة المطلوبة
- سبب الحاجة لهذه الميزة
- أمثلة على كيفية عملها (إن أمكن)
- تأكد من وجود issue للميزة/الإصلاح
- ناقش الاقتراح في الـ issue أولاً
- Fork المشروع
- إنشاء فرع جديد:
git checkout -b feature/amazing-feature # أو git checkout -b fix/bug-description - كتابة الكود مع اتباع المعايير
- اختبار الكود محلياً
- Commit مع رسالة واضحة:
git commit -m "Add: وصف الميزة" git commit -m "Fix: وصف الإصلاح" git commit -m "Update: وصف التحديث"
- Push للفرع:
git push origin feature/amazing-feature
- فتح Pull Request
- استخدام TypeScript بصرامة
- تعريف الـ types والinterfaces
- استخدام functional components
- استخدام hooks بدلاً من class components
- استخدام Prettier للتنسيق
- مسافات بادئة: 2 spaces
- اقتباسات مفردة للـ strings
- فاصلة زائدة في الـ arrays والـ objects متعددة الأسطر
- المتغيرات والدوال: camelCase
- المكونات: PascalCase
- الملفات: kebab-case للصفحات، PascalCase للمكونات
- الثوابت: UPPER_SNAKE_CASE
- التعليقات باللغة العربية
- شرح الـ functions المعقدة
- استخدام JSDoc للـ functions العامة
src/
├── app/ # صفحات Next.js
├── components/ # مكونات React
├── lib/ # مكتبات وأدوات
└── styles/ # أنماط CSS
- إضافة اختبارات للميزات الجديدة
- التأكد من نجاح جميع الاختبارات:
npm test npm run build
# استنساخ المشروع
git clone https://github.com/your-username/shifa.git
cd shifa
# تثبيت المتطلبات
npm install
# إعداد البيئة
cp .env.example .env
# قاعدة البيانات
npx prisma db push
# تشغيل المشروع
npm run devللأسئلة والاستفسارات:
- افتح Discussion على GitHub
- أو راسلنا على: contact@shifa.app
شكراً لمساهمتك في جعل شفا أفضل! 💚