واجهة المنصة مبنية بـ React 19 + Vite + Tailwind CSS.
- Node.js 18 أو أحدث
- npm
- Backend شغال على
http://localhost:3000(راجع../backend/README.md)
من مجلد frontend:
copy .env.example .envالملف .env جاهز افتراضياً للتطوير المحلي — عدّل VITE_API_URL لو الباك على منفذ أو دومين مختلف.
npm installnpm run devالواجهة تفتح على: http://localhost:5173
- الطالب يشتري كورس واحد بمدى الحياة من صفحة الكورس →
/checkout?courseId=... - لا يوجد اختيار cohort أو باكدج
- كورسات HYBRID تعرض جدول الجلسات المباشرة
- الجلسات الخاصة (1-on-1) تُدفع مباشرة من
/book-private
| الأمر | الوظيفة |
|---|---|
npm run dev |
سيرفر تطوير Vite |
npm run build |
بناء للإنتاج → dist/ |
npm run preview |
معاينة نسخة الإنتاج محلياً |
npm run lint |
فحص ESLint |
كل متغيرات Vite لازم تبدأ بـ VITE_.
| المتغير | مطلوب | الوصف |
|---|---|---|
VITE_API_URL |
نعم | رابط الـ API (مثال: http://localhost:3000/api/v1) |
VITE_APP_NAME |
لا | اسم التطبيق |
VITE_DEFAULT_LOCALE |
لا | اللغة الافتراضية (ar أو en) |
VITE_CONTACT_EMAIL |
لا | بريد التواصل في الفوتر |
VITE_SUPPORT_PHONE |
لا | رقم الدعم |
VITE_SOCIAL_*_URL |
لا | روابط السوشيال ميديا |
ملاحظة: بعد أي تعديل على
.envأعد تشغيلnpm run dev.
شغّل الباك واعمل seed أولاً، ثم استخدم:
- Super Admin:
superadmin@engineeringpioneers.com - كلمة المرور:
Password123!
صفحة الدخول: /login
لوحة الإدارة: /admin/dashboard
frontend/
├── public/assets/ # صور وشعارات
├── src/
│ ├── pages/ # صفحات التطبيق
│ ├── components/ # مكوّنات مشتركة
│ ├── features/ # منطق حسب الميزة (API + hooks)
│ ├── lib/api.js # Axios client
│ └── i18n/ # ترجمة عربي / إنجليزي
└── .env # إعدادات محلية (مش في Git)
- شغّل الباك:
cd backend && npm run dev - تأكد إن
VITE_API_URLفي.envيطابق عنوان الباك - تأكد إن منفذ الفرونت موجود في
ALLOWED_ORIGINSعند الباك
الطلبات بتفشل / Network Error
- تأكد إن الباك شغال على المنفذ الصحيح
- راجع
VITE_API_URLفي.env
401 بعد تسجيل الدخول
- تأكد إن
JWT_SECRETوJWT_REFRESH_SECRETمضبوطين في.envبتاع الباك
الصفحة فاضية بعد البناء
- تأكد إن السيرفر بيخدم الملفات من
dist/بشكل صحيح