### ⚡ الوصول السريع للشاشات الرئيسية

👥 شاشة الطلاب 📝 شاشة التسجيلات 💵 شاشة المدفوعات
👥 أجزاء شاشة الطلاب
📝 البيانات الأساسية 👨‍👩‍👦 أولياء الأمور 📚 المجموعات 📷 الصورة والمستندات 💡 ملاحظات هامة
📝 أجزاء شاشة التسجيلات
📌 معلومات التسجيل 💰 التفاصيل المالية 📅 نظام التقسيط
💵 أجزاء شاشة المدفوعات
📋 معلومات التسجيل 📅 جدول الأقساط 📚 الكورسات والمحاضرات 💳 إدخال الدفعة ⚡ التوزيع التلقائي 📋 مثال عملي

## 📖 ما هو النظام؟

#### نظام إدارة مدرسية متكامل بتوجيه ذكي

نظام شامل لإدارة العملية التعليمية بطريقة إلكترونية حديثة، يساعد المدارس على تنظيم وإدارة جميع

### 🔐 نظام الأدوار والصلاحيات المتقدم - جديد!

- ✅ إضافة حقل Panel Type لتصنيف الأدوار حسب البانل
- ✅ فلترة ذكية للصلاحيات: كل دور يرى فقط صلاحيات البانل الخاص به
- ✅ 4 أدوار جديدة جاهزة: instructor_manager, student_manager, parent_manager, supervisor_manager
- ✅ الأدوار الإدارية (super_admin, branch_manager) ترى جميع الصلاحيات
- ✅ واجهة مخصصة مع بطاقات ملونة حسب نوع البانل
- ✅ Resource Schema منفصل متوافق مع Filament 4
- ✅ Trait متقدم لفلترة Resources/Pages/Widgets حسب namespace
- ✅ جدول محسّن مع Badges ملونة وإحصائيات الصلاحيات

### 📊 نظام التقارير المتقدمة - جديد!

- ✅ تقارير إدارية شاملة مع رسوم بيانية (Chart.js)
- ✅ تقرير المدرس: أداء المجموعات + الجلسات + الامتحانات
- ✅ تقرير الطالب: متوسط الدرجات + نسبة الحضور + تطور الأداء
- ✅ تقرير ولي الأمر: متابعة شاملة لجميع الأبناء
- ✅ رسوم بيانية تفاعلية (Line, Bar Charts)
- ✅ تحليلات آخر 6 أشهر لكل مستخدم
- ✅ مقارنة الفروع للـ Super Admin
- ✅ ألوان ديناميكية حسب الأداء

### � نظام الرسائل النصية SMS - جديد!

- ✅ إرسال تلقائي للإشعارات عبر SMS لأولياء الأمور والطلاب
- ✅ دعم 5 مزودين: Twilio | Vonage | Vodafone Egypt | Log
- ✅ 5 قوالب رسائل جاهزة (غياب، درجات، امتحانات، واجبات، مدفوعات)
- ✅ Rate Limiting ذكي: 10 رسائل/دقيقة، 100/ساعة
- ✅ تحويل تلقائي للأرقام المصرية (+20xxxxxxxxxx)
- ✅ Queue Support - إرسال في الخلفية بدون تأخير
- ✅ صفحة إعدادات SMS مع زر اختبار فوري
- ✅ Widget إحصائيات مباشر في Dashboard
- ✅ سجل كامل لجميع الرسائل مع فلترة متقدمة
- ✅ تكامل كامل مع نظام الإشعارات الموجود

### �📅 نظام Calendar View التفاعلي - جديد!

- ✅ تقويم تفاعلي في جميع اللوحات (FullCalendar.js)
- ✅ عرض الجلسات والامتحانات والواجبات في تقويم واحد
- ✅ أيقونات وألوان مميزة لكل نوع حدث
- ✅ للطالب: رموز حالة الحضور (✅ حاضر، ❌ غائب، ⏰ متأخر)
- ✅ لولي الأمر: عرض أحداث جميع الأبناء في تقويم واحد
- ✅ للمدرس: جدول جلساته وامتحاناته وواجباته
- ✅ للإداري: نظرة شاملة على كل الأنشطة
- ✅ 4 طرق عرض: شهري، أسبوعي، يومي، قائمة
- ✅ تفاصيل كاملة عند الضغط على أي حدث

### 🔔 نظام الإشعارات التلقائية - محدث!

- ✅ 5 أنواع إشعارات: حضور، درجات، واجبات، امتحانات، مدفوعات
- ✅ إرسال تلقائي عبر Observers (Database + Email)
- ✅ Widgets إشعارات في جميع اللوحات
- ✅ عداد الإشعارات غير المقروءة
- ✅ تحديد الإشعار كمقروء أو تحديد الكل
- ✅ إشعارات موجهة للأطراف المعنية فقط

### 👨‍💼 نظام المشرفين الكامل

- ✅ Panel منفصل للمشرفين على /supervisor
- ✅ Dashboard متخصص مع 3 Widgets إحصائية
- ✅ عرض المجموعات المُشرف عليها فقط
- ✅ متابعة الطلاب في المجموعات
- ✅ مراجعة سجلات الحضور والغياب
- ✅ تقارير شاملة عن أداء المجموعات
- ✅ ربط المشرف بالمجموعات من Admin Panel
- ✅ صلاحيات قراءة فقط (View Only)

### 👨‍🏫 نظام المدرس المتطور - محدث!

- ✅ 12 Resources كاملة للإدارة الشاملة
- ✅ 10 Widgets احترافية في Dashboard
- ✅ نظام التواصل داخل المجموعات (Group Messages)
- ✅ إدارة الطلاب والجلسات والحضور
- ✅ إدارة الواجبات والامتحانات
- ✅ عرض المدفوعات والمراجعات
- ✅ إحصائيات متقدمة للأداء
- ✅ واجهة معربة بالكامل

### 🏦 نظام الخزائن المتقدم

- ✅ 3 خزائن مستقلة: نقدي 💵 | فودافون كاش 📱 | إنستاباي 💳
- ✅ Widget أرصدة الخزائن مع تنبيهات الرصيد السالب
- ✅ تقرير معاملات شامل لجميع الخزائن
- ✅ تقرير الحركة اليومية لكل خزينة
- ✅ نظام التسوية (Reconciliation) مع السكرتيرة
- ✅ ربط تلقائي: كل معاملة مالية مرتبطة بخزينة محددة

### 📄 نظام الامتحانات المحسّن

- ✅ رفع ملفات PDF للامتحانات بشكل آمن
- ✅ عرض احترافي مع تصميم Bootstrap جميل
- ✅ معاينة مباشرة أو فتح في نافذة جديدة
- ✅ حماية الملفات في private storage
- ✅ تحقق من الصلاحيات قبل العرض

### 🎨 تحسينات واجهة المستخدم

- ✅ لوحة تحكم المعلم: 12 Resources + 10 Widgets
- ✅ لوحة تحكم الطالب: Dashboard احترافي بألوان جذابة
- ✅ لوحة تحكم ولي الأمر: تبديل سهل بين الأبناء
- ✅ لوحة تحكم المشرف: متابعة شاملة للمجموعات
- ✅ أيقونات تعبيرية في كل مكان
- ✅ تأثيرات حركية سلسة ومريحة للعين

### 🔐 نظام تسجيل الدخول المتعدد الخيارات

- ✅ تسجيل الدخول بالبريد الإلكتروني (Email) 📧
- ✅ تسجيل الدخول برقم الموبايل (Phone) 📱
- ✅ تسجيل الدخول باسم المستخدم (Username) 👤
- ✅ اختيار الطريقة المناسبة لك بكل مرونة
- ✅ حقل username اختياري في جميع نماذج إنشاء الحسابات
- ✅ أمان عالي مع تشفير كامل لكلمات المرور

## 📖 ما هو النظام؟

#### نظام إدارة مدرسية متكامل بتوجيه ذكي

نظام شامل لإدارة العملية التعليمية بطريقة إلكترونية حديثة، يساعد المدارس على تنظيم وإدارة جميع الأنشطة التعليمية والإدارية بسهولة وفعالية.

🎯 ميزة التوجيه التلقائي الذكي:
رابط واحد فقط للدخول (`http://localhost:8000`) - يتم توجيهك تلقائياً إلى لوحة التحكم المناسبة لدورك!

### 🎯 الهدف من النظام

تسهيل العملية التعليمية من خلال توفير منصة واحدة تجمع المدير والمعلمين والطلاب، وتمكنهم من إدارة الدراسة والمواد والاختبارات والنتائج بكل سهولة.

### 👥 من يستخدم النظام؟ (6 أدوار مختلفة)

1. المدير العام (Super Admin): صلاحيات كاملة - إدارة كل شيء في النظام
2. مدير الفرع (Branch Manager): إدارة فرع محدد - طلاب ومعلمين وعمليات الفرع
3. السكرتارية (Secretary): إدارة الطلاب والمدفوعات - مساعدة إدارية
4. المعلمون (Instructor): إدارة المواد والدروس والاختبارات والطلاب
5. الطلاب (Student): متابعة الدراسة والاختبارات والنتائج والمدفوعات
6. أولياء الأمور (Parent): متابعة أداء الأبناء الدراسي والمالي

💡 ملاحظة هامة: كل دور له لوحة تحكم خاصة به، والنظام يوجهك تلقائياً للوحة الصحيحة عند تسجيل الدخول!

### 🔐 طرق تسجيل الدخول المتعددة

#### مرونة كاملة في اختيار طريقة الدخول

النظام يدعم ثلاث طرق مختلفة لتسجيل الدخول، اختر الطريقة الأسهل بالنسبة لك:

#### 📧 1. البريد الإلكتروني (Email)

استخدم عنوان البريد الإلكتروني المسجل في النظام

`مثال: admin@school.com`

#### 📱 2. رقم الموبايل (Phone)

استخدم رقم الهاتف المسجل في النظام

`مثال: 01234567890`

#### 👤 3. اسم المستخدم (Username)

استخدم اسم مستخدم فريد (إذا تم تعيينه)

`مثال: ahmed123 أو teacher_ahmed`
💡 نصيحة:
• اسم المستخدم (Username) اختياري ويمكن إضافته عند إنشاء الحساب
• يمكن استخدامه لتسهيل تسجيل الدخول بدلاً من كتابة البريد الإلكتروني الطويل
• يجب أن يكون فريداً (غير مكرر) ويحتوي على أحرف وأرقام فقط
• كلمة المرور مطلوبة في جميع الطرق (على الأقل 8 أحرف)
✅ أين أجد حقل Username؟

- عند إنشاء مستخدم جديد مباشرة
- عند إنشاء مدرس (يتم إنشاء حساب تلقائياً)
- عند إنشاء طالب (يتم إنشاء حساب تلقائياً)
- عند إنشاء ولي أمر (يتم إنشاء حساب تلقائياً)
- في جدول المستخدمين (يمكن إخفاؤه/إظهاره)

## 👥 أنواع المستخدمين في النظام

#### � المدير العام - Super Admin

صلاحيات كاملة على النظام بالكامل

- ✅ إدارة جميع الفروع والمنظمات
- ✅ إضافة وتعديل جميع المستخدمين (مديري فروع، سكرتارية، معلمين، طلاب)
- ✅ التحكم الكامل في الصلاحيات والأدوار
- ✅ مراجعة جميع التقارير المالية والإحصائيات
- ✅ إعدادات النظام العامة والمتقدمة
- ✅ الوصول إلى لوحة التحكم: `/admin`

#### 🏢 مدير الفرع - Branch Manager

مسؤول عن إدارة فرع محدد

- ✅ إدارة طلاب ومعلمين الفرع فقط
- ✅ مراجعة تقارير وإحصائيات الفرع
- ✅ متابعة العمليات المالية للفرع
- ✅ إدارة الأقسام والصفوف في الفرع
- ✅ الوصول إلى لوحة التحكم: `/admin`

#### 📋 السكرتارية - Secretary

مساعد إداري للعمليات اليومية

- ✅ عرض وإضافة وتعديل بيانات الطلاب
- ✅ عرض وإضافة وتعديل المدفوعات
- ✅ العمل كمشرف على المجموعات
- ✅ متابعة حضور الطلاب
- ✅ الوصول إلى لوحة التحكم: `/admin`
- ⚠️ لا يمكنه حذف البيانات

#### 👨‍💼 المشرف - Supervisor

متابعة ومراقبة المجموعات الدراسية

- ✅ عرض المجموعات المُشرف عليها فقط
- ✅ متابعة حضور وغياب الطلاب
- ✅ عرض بيانات الطلاب في المجموعات
- ✅ مراجعة سجلات الجلسات
- ✅ إحصائيات وتقارير الأداء
- ✅ الوصول إلى لوحة التحكم: `/supervisor`
- ⚠️ صلاحيات قراءة فقط (View Only)

#### 👨‍🏫 المعلم/المدرس - Instructor

إدارة المحتوى التعليمي والتفاعل مع الطلاب

- ✅ إدارة 12 Resource كاملة
- ✅ عرض الطلاب في المجموعات
- ✅ إدارة الجلسات وتسجيل الحضور
- ✅ إنشاء وإدارة الواجبات والامتحانات
- ✅ إضافة موارد تعليمية (ملفات، روابط)
- ✅ التواصل مع الطلاب عبر رسائل المجموعات
- ✅ عرض المدفوعات والمراجعات
- ✅ Dashboard متقدم مع 10 Widgets
- ✅ الوصول إلى لوحة التحكم: `/instructor`

#### 🎓 الطالب - Student

الدارس المسجل في المدرسة

- ✅ عرض المجموعات المسجل فيها
- ✅ الوصول للموارد التعليمية
- ✅ أداء الواجبات والامتحانات
- ✅ عرض الدرجات والنتائج
- ✅ متابعة سجل الحضور
- ✅ عرض المدفوعات
- ✅ تقييم المدرسين
- ✅ التواصل عبر رسائل المجموعات
- ✅ Dashboard مع 10+ Widgets
- ✅ الوصول إلى لوحة التحكم: `/student`

#### 👨‍👩‍👧 ولي الأمر - Parent

متابعة أبناءه في المدرسة

- ✅ عرض جميع الأبناء المسجلين
- ✅ متابعة درجات الأبناء
- ✅ مراجعة سجلات الحضور والغياب
- ✅ عرض مدفوعات كل ابن
- ✅ Dashboard مع إحصائيات شاملة
- ✅ الوصول إلى لوحة التحكم: `/parent`

## 🏢 لوحة تحكم المدير

- يحل الاختبارات المتاحة له
- يشاهد درجاته ونتائجه
- يتابع تقدمه الدراسي
- يشاهد حالة مدفوعاته وسجل الحضور
- ✅ الوصول إلى لوحة التحكم: `/student`

#### 👨‍👩‍👧‍👦 ولي الأمر - Parent

متابعة أداء الأبناء وتقدمهم الدراسي

- ✅ متابعة تقدم الأبناء الدراسي
- ✅ مشاهدة درجات ونتائج الأبناء
- ✅ متابعة حضور وغياب الأبناء
- ✅ مراجعة المدفوعات المطلوبة والمسددة
- ✅ التواصل مع المدرسة والمعلمين
- ✅ الوصول إلى لوحة التحكم: `/parent`

#### 👨‍👩‍👧‍👦 ولي الأمر

المسؤول عن متابعة أبنائه الطلاب

- يتابع أداء أبنائه الدراسي
- يشاهد نتائج الاختبارات
- يراجع سجل الحضور والغياب
- يتابع المدفوعات والمتأخرات
- يتواصل مع المعلمين والإدارة

## 🕒 حضور وانصراف السكرتيرة

⏱️ توقيت السيرفر: يتم الاعتماد على توقيت السيرفر فقط (Africa/Cairo)، ولا يتم استخدام توقيت جهاز المستخدم.

#### 🎯 الهدف

تسجيل حضور وانصراف السكرتيرة بسهولة عبر زرين فقط مع منع التكرار وحساب ساعات العمل تلقائياً.

### ✅ القواعد الأساسية

1. يوجد زران فقط: تسجيل حضور وتسجيل انصراف.
2. لكل يوم سجل واحد فقط ولا يُسمح بالتكرار.
3. عند تسجيل الحضور يتم حفظ تاريخ اليوم ووقت الحضور من السيرفر.
4. لا يمكن تسجيل الانصراف بدون وجود حضور مسبق.
5. عند الانصراف يتم حفظ وقت الانصراف وحساب ساعات العمل تلقائياً:

ساعات العمل = وقت الانصراف − وقت الحضور

### 📊 الإحصائيات الشهرية

- عدد أيام الحضور في الشهر.
- إجمالي ساعات العمل في الشهر.
- سجل كامل لكل يوم مع أوقات الحضور والانصراف.

🔐 صلاحيات التعديل: التعديل على السجلات مسموح فقط للمسؤولين (Branch Manager / Super Admin).

## 🎛️ لوحة تحكم المدير

💡 ملاحظة مهمة: المدير لديه صلاحيات كاملة على النظام بأكمله

### 📊 الشاشة الرئيسية (لوحة التحكم)

ماذا تعرض؟

- عدد الطلاب المسجلين
- عدد المعلمين
- عدد المواد الدراسية
- عدد الاختبارات
- إحصائيات عامة عن المدرسة

### 🏫 شاشة الأقسام

#### إدارة الأقسام الدراسية

خطوات العمل:

1. اضغط على "الأقسام" من القائمة الجانبية
2. لإضافة قسم جديد: اضغط "إضافة قسم"
3. اكتب اسم القسم (مثل: القسم العلمي، القسم الأدبي)
4. اكتب وصف مختصر عن القسم
5. اضغط "حفظ"

💡 نصيحة: يمكنك تعديل أو حذف أي قسم بالضغط على الأزرار المخصصة

### 📚 شاشة الصفوف الدراسية

#### إدارة الصفوف (المراحل الدراسية)

خطوات العمل:

1. اضغط على "الصفوف" من القائمة
2. لإضافة صف جديد: اضغط "إضافة صف"
3. اكتب اسم الصف (مثل: الصف الأول، الصف الثاني)
4. حدد القسم الذي ينتمي له هذا الصف
5. اكتب وصف مختصر
6. اضغط "حفظ"

### 👥 شاشة المستخدمين

#### إدارة المعلمين والطلاب

لإضافة معلم جديد:

1. اضغط على "المستخدمين" من القائمة
2. اضغط "إضافة مستخدم"
3. اكتب الاسم الكامل
4. اكتب البريد الإلكتروني
5. اختر الدور: "معلم"
6. أدخل كلمة المرور
7. اضغط "حفظ"

لإضافة طالب جديد:

1. نفس الخطوات السابقة
2. لكن اختر الدور: "طالب"
3. حدد الصف الدراسي للطالب

💡 مهم: احفظ بيانات الدخول لكل مستخدم (البريد الإلكتروني وكلمة المرور)

### 📖 شاشة المواد الدراسية

#### إدارة المواد

خطوات إضافة مادة:

1. اضغط على "المواد" من القائمة
2. اضغط "إضافة مادة"
3. اكتب اسم المادة (مثل: الرياضيات، اللغة العربية)
4. اكتب رمز المادة (اختصار)
5. اكتب وصف المادة
6. حدد الصف الدراسي
7. حدد المعلم المسؤول عن المادة
8. اضغط "حفظ"

### 📝 شاشة الاختبارات

#### مراجعة وإدارة الاختبارات

المدير يستطيع:

- مشاهدة جميع الاختبارات في النظام
- مراجعة تفاصيل أي اختبار
- حذف اختبارات إذا لزم الأمر
- مشاهدة نتائج الطلاب

### 📊 شاشة التقارير

#### التقارير والإحصائيات

يمكن للمدير مشاهدة:

- تقارير أداء الطلاب
- إحصائيات المواد الدراسية
- تقارير حضور وغياب
- نتائج الاختبارات
- تقارير عامة عن المدرسة

### ⚙️ شاشة الإعدادات

#### إعدادات النظام

تشمل:

- معلومات المدرسة (الاسم، الشعار، العنوان)
- إعدادات البريد الإلكتروني
- إعدادات اللغة
- إعدادات الأمان والصلاحيات
- النسخ الاحتياطي
- إدارة الصلاحيات والأدوار (Shield)

### 💰 النظام المالي

#### إدارة الشؤون المالية

المدير يستطيع:

- إدارة فئات المصروفات والإيرادات
- تسجيل المصروفات اليومية
- تسجيل الإيرادات (يتم الربط التلقائي بمدفوعات الطلاب)
- مشاهدة التقارير المالية الشاملة
- تحليل الإيرادات والمصروفات بالرسوم البيانية
- حساب صافي الربح وهامش الربح

💡 ميزة ذكية: عند استلام مدفوعات من الطلاب، يتم إنشاء إيراد تلقائياً في النظام المالي

## 🆕 آخر التحديثات في النظام

#### 🧾 تسجيل حضور الطلاب بالباركود

- شاشة جديدة لتسجيل الحضور عبر الباركود.
- تسجيل تلقائي داخل جلسة اليوم الخاصة بمجموعة الطالب.
- يمنع التكرار إذا تم تسجيل الحضور مسبقاً.

الوصول: لوحة الإدارة → الحضور → تسجيل حضور بالباركود

#### ⏱️ حضور وانصراف السكرتيرة

- زران فقط لتسجيل الحضور والانصراف.
- سجل واحد يومياً مع حساب ساعات العمل تلقائياً.
- يعتمد على توقيت السيرفر فقط ولا يسمح بالتعديل إلا للمسؤولين.

الوصول: لوحة الإدارة → الحضور → حضور السكرتيرة

#### 💵 كاشير بالباركود داخل المدفوعات

- إدخال باركود الطالب لتحديد بياناته تلقائياً في شاشة المدفوعات.
- تحديث الرصيد والمدفوعات تلقائياً بعد اختيار الطالب.

#### 🏦 فلاتر الخزائن حسب الفروع

- فلتر فرع في جدول الخزائن للأدمن الرئيسي.
- فلتر فرع في تقرير الحركة اليومية للخزائن.

#### 💼 نظام المرتبات (مهندسين + سكرتارية)

- تسجيل صرف المرتبات مع اختيار الموظف (مهندس/سكرتارية).
- ربط الصرف بالخزينة وطريقة الدفع.
- إجراءات سريعة لتحويل الحالة إلى مدفوع.

الوصول: لوحة الإدارة → الإدارة المالية → المرتبات

## 👨‍🏫 لوحة تحكم المعلم/المدرس

💡 ملاحظة: المعلم يرى فقط المجموعات والطلاب المرتبطين به

### 📊 الشاشة الرئيسية المتطورة

Dashboard احترافي مع 10 Widgets:

- 📊 إحصائيات المدرس (Stats Widget)
- 📈 معدل الحضور (Attendance Rate Chart)
- 👥 المجموعات القادمة (Upcoming Groups)
- 📅 الجلسات القادمة (Upcoming Sessions)
- 📝 الواجبات الأخيرة (Recent Assignments)
- 📊 رسم بياني للتسليمات (Submissions Chart)
- 💰 إحصائيات المدفوعات (Payment Stats)
- ⭐ إحصائيات المراجعات (Review Stats)
- 💬 رسائل المجموعات (Group Messages Widget)
- ✅ إحصائيات الحضور (Attendance Stats)

### 📚 12 Resources للإدارة الكاملة

#### 1️⃣ الطلاب (Students)

عرض جميع الطلاب في المجموعات التي يدرسها المعلم

#### 2️⃣ المجموعات (Groups)

إدارة وعرض المجموعات المسندة للمعلم

#### 3️⃣ جلسات الحضور (Attendance Sessions)

يقوم المدرّس بتسجيل الجلسة، ويتم تسجيلها تلقائيًا على مستوى المجموعة والجروب والكورس المسجّل به الطالب، مع حفظها على النظام. وعند اكتمال عدد الجلسات المحددة لكل كورس، يتم تحويل حالة الكورس من نشط إلى منتهي تلقائيًا.

#### 4️⃣ الجداول الزمنية (Session Schedules)

جدول الحصص والمواعيد

#### 5️⃣ الواجبات (Assignments)

إنشاء واجبات ومراجعة تسليمات الطلاب

#### 6️⃣ تسليمات الواجبات (Assignment Submissions)

مراجعة وتقييم واجبات الطلاب

#### 7️⃣ الامتحانات (Exams)

إنشاء امتحانات ورفع ملفات PDF

#### 8️⃣ محاولات الامتحانات (Exam Attempts)

عرض ومراجعة إجابات الطلاب

#### 9️⃣ الموارد التعليمية (Learning Resources)

رفع وإدارة الملفات والمحتوى التعليمي

#### 🔟 رسائل المجموعات (Group Messages)

نظام تواصل متقدم داخل المجموعات مع الطلاب

#### 1️⃣1️⃣ مراجعات المدرس (Instructor Reviews)

عرض تقييمات الطلاب للمدرس

#### 1️⃣2️⃣ مدفوعات المدرس (Instructor Payments)

عرض المدفوعات والرواتب

### 💬 نظام التواصل داخل المجموعات

#### ميزات متقدمة:

- ✅ 4 أنواع رسائل: عامة، إعلان، تذكير، طارئة
- ✅ 4 مستويات أولوية: منخفضة، عادية، عالية، طارئة
- ✅ جدولة الرسائل للإرسال لاحقاً
- ✅ إرفاق ملفات مع الرسائل
- ✅ تتبع من قرأ الرسالة
- ✅ واجهة محادثة احترافية

### 📊 تقارير وإحصائيات متقدمة

#### يمكن للمعلم مشاهدة:

- تقرير أداء الطلاب في مجموعاته
- إحصائيات الحضور لكل مجموعة
- نسب نجاح الطلاب في الامتحانات
- معدل تسليم الواجبات
- تقييمات الطلاب له

## 🎓 لوحة الطالب

💡 ملاحظة: الطالب يرى فقط المواد المسجل فيها والاختبارات المتاحة له

### 📊 الشاشة الرئيسية

ماذا يرى الطالب؟

- المواد الدراسية المسجل فيها
- الاختبارات القادمة
- آخر النتائج
- معدله الدراسي

### 📚 شاشة موادي

#### دراسة المواد

خطوات الدراسة:

1. اضغط على "موادي" من القائمة
2. اختر المادة المراد دراستها
3. ستظهر قائمة الدروس
4. اضغط على أي درس لفتحه
5. اقرأ المحتوى أو شاهد الفيديوهات
6. حمّل الملفات المرفقة إذا وجدت

💡 نصيحة: رتب دروسك حسب الأولوية وادرس بانتظام

### 📝 شاشة الاختبارات

#### حل الاختبارات

خطوات حل الاختبار:

1. اضغط على "الاختبارات" من القائمة
2. ستجد قائمة بالاختبارات المتاحة
3. اضغط "ابدأ الاختبار"
4. اقرأ التعليمات جيداً
5. لاحظ المدة المتبقية أعلى الشاشة
6. أجب على الأسئلة واحداً تلو الآخر
7. يمكنك التنقل بين الأسئلة
8. بعد الانتهاء: اضغط "إرسال الاختبار"

⚠️ تحذير مهم:

- عند بدء الاختبار، سيبدأ العداد التنازلي تلقائياً
- لا تغلق الصفحة أثناء الاختبار
- عند انتهاء الوقت، سيُرسل الاختبار تلقائياً
- لا يمكن إعادة الاختبار بعد إرساله

### 📊 شاشة النتائج

#### مشاهدة الدرجات والنتائج

خطوات مشاهدة النتائج:

1. اضغط على "نتائجي" من القائمة
2. ستظهر قائمة بجميع الاختبارات المنتهية
3. اضغط على أي اختبار لمشاهدة التفاصيل
4. يمكنك رؤية:
   - درجتك الكلية
   - الدرجة من كام
   - النسبة المئوية
   - إجاباتك الصحيحة والخاطئة

### 📈 شاشة التقدم الدراسي

#### متابعة مستواك

يمكنك مشاهدة:

- معدلك العام
- معدلك في كل مادة
- عدد الاختبارات التي أديتها
- تقدمك في كل مادة
- مقارنة أدائك عبر الوقت

### ⚙️ شاشة الملف الشخصي

#### معلوماتك الشخصية

يمكنك:

- مشاهدة معلوماتك الأساسية
- تعديل كلمة المرور
- تحديث صورتك الشخصية
- تعديل معلومات الاتصال

### 📊 لوحة المعلومات الذكية

#### Dashboard احترافي للطالب

لوحة معلومات متقدمة تعرض:

- بطاقات إحصائية: الكورسات النشطة، نسبة الحضور، المدفوعات
- جدول الكورسات: مع شريط تقدم لكل كورس
- سجل الحضور: آخر 10 محاضرات بحالة كل حضور
- سجل المدفوعات: تحديث تلقائي كل 30 ثانية
- تصميم ملون: ألوان جذابة وتأثيرات حركية

🎨 ميزة خاصة: التصميم يستخدم Tailwind CSS بشكل احترافي مع animations جميلة

## 📌 نظام إدارة كورسات الطالب المتقدم

💡 نظام مشابه للنظام الجامعي: الطالب يرى كل الكورسات المتاحة، ويختار المواد التي يريدها، وتضاف مباشرة لملفه التعليمي مع إمكانية التحكم في حالة الكورس والمجموعة.
📚 آلية الاختيار والإضافة

#### الخطوات الأساسية:

1️⃣ عرض الكورسات المتاحة:

- عند فتح صفحة التسجيل، يرى الطالب قائمة بجميع الكورسات المتاحة
- كل كورس يظهر مع: الاسم، المعلم، السعر، عدد الحصص (12 حصة)
- بجانب كل كورس زر "اختيار" أزرق

2️⃣ الاختيار والإضافة:

- الطالب يضغط على زر "اختيار" بجانب الكورس
- الكورس يضاف مباشرة لقسم "الكورسات المختارة" في نفس الصفحة
- الزر يتحول إلى "تم الاختيار" (معطل)
- يمكن إضافة أكثر من كورس (مثل نظام الجامعة: 6 مواد)

3️⃣ عرض الكورسات المختارة:

- كل كورس مضاف يظهر في قائمة منفصلة مع:
  - اسم الكورس
  - اسم المعلم
  - عدد الحصص (مثال: 12 حصة)
  - السعر
  - زر الحالة بجانب الكورس
  - عداد الحصص الحالية (السيشن رقم كام من 12)

🔘 زر حالة الكورس

#### الحالات الثلاث:

##### ⭕ حالة 1: غير نشط (Inactive)

- الوصف: الكورس مضاف ولكن الطالب لم يختر مجموعة بعد
- لون الزر: برتقالي/رمادي
- نص الزر: "غير نشط - اختر مجموعة"
- الوظيفة: عند الضغط، تظهر نافذة منبثقة بالمجموعات
- الانتقال: بعد اختيار مجموعة → يتحول إلى "نشط"

##### 🟢 حالة 2: نشط (Active)

- الوصف: الطالب مسجل في مجموعة ويتابع الحصص
- لون الزر: أخضر
- نص الزر: "نشط - المجموعة: [اسم المجموعة]"
- الوظيفة: عند الضغط، يمكن تغيير المجموعة بشروط
- عداد الحصص: يظهر السيشن الحالي (مثال: "السيشن 5 من 12")
- شروط التغيير: المجموعة الجديدة يجب أن تكون في نفس الحصة أو أقل

##### ✅ حالة 3: مكتمل (Completed)

- الوصف: الكورس انتهى (اكتمل 12 حصة)
- لون الزر: أزرق/رمادي معطل
- نص الزر: "مكتمل - غير قابل للتعديل"
- الوظيفة: معطل تماماً (لا يمكن الضغط عليه)
- السجل: محفوظ في السجل التعليمي دائماً
- النقاط: يظهر "12 من 12 حصة"

🎯 تفعيل وتغيير المجموعة

#### العملية بالتفصيل:

##### من غير نشط إلى نشط:

        ❌ غير نشط
            ↓ (الطالب يضغط الزر)
            ↓ (تظهر نافذة بالمجموعات المتاحة)
            ↓ (يختار مجموعة)
        ✅ نشط
            ↓ (يظهر اسم المجموعة والسيشن الحالي)

##### تغيير المجموعة (الكورس نشط):

- 💡 الشروط:
  - المجموعة الجديدة يجب أن تكون في نفس الحصة أو حصة أقل
  - مثال: إذا كان الطالب في السيشن 5، لا يمكن الانتقال لمجموعة في السيشن 7
- 📋 المجموعات المعروضة:
  - فقط المجموعات من نفس الكورس
  - وحسب الشروط التعليمية
- ✅ التحديث: تغيير المجموعة يتم فوراً

⏱️ نظام عداد السيشنات (الحصص)

#### كيفية عمل العداد:

##### 1️⃣ بداية الكورس

- الكورس يحتوي على 12 حصة (سيشن)
- عند بدء الكورس، يكون الطالب في السيشن 0 من 12

##### 2️⃣ تسجيل السيشن من قبل المعلم

- قبل بدء كل حصة، المعلم يسجل في لوحة التحكم:
  - "بدء السيشن رقم X"
- عند التسجيل:
- ✅ العداد يتحديث تلقائياً للطالب
- ✅ يصبح "السيشن X من 12"
- ✅ جميع الطلاب النشطين في الكورس يرون الرقم نفسه

##### 3️⃣ انتهاء الكورس

- عند تسجيل السيشن رقم 12:
- ✅ حالة الكورس تتحول تلقائياً إلى "مكتمل"
- ✅ الزر يصبح معطلاً ولا يمكن تغييره
- ✅ الكورس ينتقل للسجل التعليمي النهائي

#### 🎯 ملخص العداد:

        السيشن يبدأ من: 0 من 12
        المعلم يسجل: بدء السيشن 1
        الطالب يرى: ✅ السيشن 1 من 12

        المعلم يسجل: بدء السيشن 2
        الطالب يرى: ✅ السيشن 2 من 12

        ...

        المعلم يسجل: بدء السيشن 12
        الطالب يرى: ✅ السيشن 12 من 12 + حالة مكتمل

📊 عرض عداد السيشن في جميع المكان

#### أماكن ظهور العداد:

##### 1️⃣ في صفحة التسجيل (Enrollments):

- 💠 بجانب اسم الكورس: "السيشن 5 من 12"
- 💠 في حالة الكورس: نشط - السيشن 5 من 12
- 💠 شريط التقدم: يعرض 5/12 بصرياً

##### 2️⃣ في Student Dashboard (لوحة الطالب):

- 💠 بطاقة الكورس: تعرض "السيشن X من 12"
- 💠 شريط التقدم: يعرض التقدم المرئي (مثال: 5/12 خضراء و 7/12 رمادية)
- 💠 نسبة التقدم: "41% من الكورس مكتمل"

##### 3️⃣ في صفحة الكورسات (My Courses):

- 💠 قائمة الكورسات: كل كورس يظهر مع "السيشن X من 12"
- 💠 بطاقة الكورس: تفاصيل كاملة مع العداد

##### 4️⃣ في نافذة اختيار المجموعة:

- 💠 عند فتح نافذة المجموعات: يظهر السيشن الحالي
- 💠 تحذير: "المجموعات قبل السيشن 5 متاحة فقط"

##### 5️⃣ في صفحة الباركود (للاستخدام المستقبلي):

- 💠 سجل الحضور: يظهر "السيشن 5 - حاضر/غائب"
- 💠 للتحقق من الطالب: "الطالب في السيشن 5 من كورس Scratch"

📋 ملخص سريع للنظام

#### 🎯 خطوات العملية من البداية للنهاية

الخطوة | الوصف | النتيجة
--- | --- | ---
1️⃣ اختيار الكورس | الطالب يضغط "اختيار" | الكورس يضاف (غير نشط)
2️⃣ اختيار المجموعة | يضغط على زر "غير نشط" | الكورس يصير نشط
3️⃣ بدء الحصص | المعلم يسجل السيشن | العداد يتحديث
4️⃣ انتهاء الكورس | السيشن 12 مكتمل | حالة = مكتمل

#### 🔑 المبادئ الأساسية

- ✅ اختيار الكورس = حجز في ملف الطالب
- ✅ اختيار المجموعة = تفعيل الكورس
- ✅ تغيير المجموعة مسموح بشروط تعليمية (نفس السيشن أو أقل)
- ✅ الكورس المكتمل لا يتغير (محفوظ دائماً)
- ✅ العداد يظهر في كل مكان يرى فيه الطالب الكورس
- ✅ المعلم يحكم بدء السيشنات من لوحة التحكم

## 👨‍👩‍👧‍👦 لوحة تحكم ولي الأمر

💡 ملاحظة: ولي الأمر يمكنه متابعة عدة أبناء من نفس الحساب

### 📊 الشاشة الرئيسية

ماذا يرى ولي الأمر؟

- قائمة أبنائه المسجلين في النظام
- أزرار جميلة لاختيار الطالب المراد متابعته
- إحصائيات شاملة عن الطالب المختار
- تحديث فوري للبيانات عند التبديل بين الأبناء

### 👶 اختيار الطالب

#### التبديل بين الأبناء

خطوات المتابعة:

1. سجل الدخول بحساب ولي الأمر
2. ستظهر قائمة بجميع أبنائك
3. اضغط على زر اسم الطالب المراد متابعته
4. ستظهر جميع البيانات الخاصة به فوراً
5. يمكنك التبديل بين الأبناء في أي وقت

💡 سهل ومريح: تصميم جميل بأزرار كبيرة وواضحة مع علامة ✓ على الطالب المختار

### 📈 إحصائيات الطالب

#### بطاقات معلوماتية شاملة

تعرض 4 بطاقات رئيسية:

- الكورسات النشطة: عدد الكورسات المسجل فيها
- نسبة الحضور: مع عدد أيام الحضور من الإجمالي
- إجمالي المدفوعات: المبلغ المدفوع بالكامل
- المدفوعات المعلقة: مع تحذير إذا وجدت متأخرات

### 📚 متابعة الكورسات

#### تفاصيل دراسة الطالب

جدول يعرض:

- أسماء الكورسات التي يدرسها
- المدرس لكل كورس
- نسبة التقدم في كل كورس (شريط تقدم ملون)
- حالة التسجيل (نشط، مكتمل، ملغي)

### 📅 سجل الحضور والغياب

#### متابعة انتظام الطالب

يعرض:

- تاريخ كل محاضرة
- اسم الكورس
- حالة الحضور: ✓ حاضر، ✗ غائب، ⏰ متأخر، 📝 غياب بعذر
- ملاحظات المعلم إن وجدت

### 💳 سجل المدفوعات

#### الشؤون المالية للطالب

جدول تفصيلي يعرض:

- رقم كل دفعة (يمكن نسخه بضغطة واحدة)
- الكورس المرتبط بالدفعة
- المبلغ المطلوب
- طريقة الدفع (نقدي، بنك، بطاقة، إلخ)
- حالة الدفع (مدفوع ✓، معلق ⏳، متأخر ⚠️)
- التاريخ المتوقع والفعلي للدفع

### 🎯 مميزات لوحة ولي الأمر

✨ تصميم احترافي:

- ألوان جذابة ومتدرجة
- أيقونات واضحة وتعبيرية
- تحديث فوري للبيانات عند التبديل
- شرائط تقدم ملونة
- تنبيهات للمدفوعات المعلقة
- سهولة في التنقل والاستخدام

## 💰 النظام المالي المتكامل

🎯 نظام مالي احترافي: إدارة كاملة للمصروفات والإيرادات مع تقارير تحليلية

### 📂 فئات المصروفات

#### تنظيم أنواع المصروفات

خطوات الإضافة:

1. اضغط على "الإدارة المالية" → "فئات المصروفات"
2. اضغط "إضافة فئة مصروف"
3. اكتب الاسم (مثل: رواتب، كهرباء، صيانة)
4. اكتب رمز الفئة
5. اكتب وصف مختصر
6. اضغط "حفظ"

### 💸 تسجيل المصروفات

#### إدارة المصاريف اليومية

لإضافة مصروف جديد:

1. اضغط على "المصروفات" من القائمة
2. اضغط "إضافة مصروف"
3. حدد فئة المصروف
4. اكتب عنوان المصروف
5. أدخل المبلغ
6. حدد تاريخ المصروف
7. اختر طريقة الدفع
8. أضف رقم الفاتورة واسم المورد (اختياري)
9. اكتب ملاحظات إضافية
10. حدد الحالة (مدفوع، معلق، ملغي)

### 📂 فئات الإيرادات

#### تصنيف مصادر الدخل

نفس خطوات فئات المصروفات، لكن للإيرادات (مثل: رسوم دراسية، تبرعات، خدمات إضافية)

### 💰 تسجيل الإيرادات

#### إدارة الدخل

لإضافة إيراد جديد:

1. اضغط على "الإيرادات" من القائمة
2. اضغط "إضافة إيراد"
3. حدد فئة الإيراد
4. اكتب عنوان الإيراد
5. أدخل المبلغ
6. حدد تاريخ الإيراد
7. اختر طريقة الدفع
8. أضف رقم الفاتورة واسم العميل
9. حدد الحالة (مستلم، معلق)

🤖 ربط تلقائي ذكي: عند استلام مدفوعات من الطلاب، يتم إنشاء إيراد تلقائياً مربوط بالطالب والكورس!

### 📊 التقارير المالية

#### تحليلات مالية شاملة

لوحة معلومات احترافية بتصميم عصري تعرض:

#### 📈 بطاقات إحصائية ملونة:

- إجمالي الإيرادات - بطاقة خضراء مع أيقونة نقود
- إجمالي المصروفات - بطاقة حمراء مع أيقونة دولار
- صافي الربح - بطاقة زرقاء (أو برتقالية إذا خسارة)
- هامش الربح - بطاقة بنفسجية بالنسبة المئوية

#### 🎨 رسوم بيانية تفاعلية:

- Pie Chart: الإيرادات حسب الفئة بألوان متدرجة
- Doughnut Chart: المصروفات حسب الفئة
- Tooltips جميلة عند التمرير
- Legend أسفل كل رسم بنقاط دائرية
- تأثيرات حركية عند التحميل

#### ✨ مميزات التصميم:

- Gradients احترافية لكل بطاقة
- Shadow effects جميلة
- Hover animations سلسة
- أيقونات كبيرة وواضحة
- ألوان متناسقة ومريحة للعين
- أرقام ضخمة وواضحة
- Emojis تعبيرية (📈 📉 💰 📊)

### 💡 الاستخدام الأمثل للنظام المالي

نصائح مهمة:

- أنشئ الفئات أولاً قبل تسجيل المصروفات والإيرادات
- سجّل جميع المصروفات فور حدوثها
- راجع التقارير المالية دورياً
- استفد من الربط التلقائي لمدفوعات الطلاب
- احفظ الفواتير والمستندات المالية
- حدد طريقة الدفع بدقة لكل معاملة

## 🏦 نظام الخزائن المتقدم

🎯 نظام خزائن ذكي: إدارة 3 أنواع من الخزائن بشكل منفصل تماماً - نقدي، فودافون كاش، إنستاباي

### 💵 أنواع الخزائن

#### 3 خزائن مستقلة تماماً

- 💵 الخزينة النقدية (Cash): للمعاملات النقدية المباشرة
- 📱 فودافون كاش (Vodafone Cash): للمدفوعات عبر فودافون كاش
- 💳 إنستاباي (InstaPay): للتحويلات البنكية السريعة

💡 ملاحظة: كل خزينة مستقلة تماماً ولها رصيد منفصل - لا يوجد خلط بين الخزائن!

### 📊 Widget أرصدة الخزائن

#### عرض فوري للأرصدة في Dashboard

يعرض تلقائياً:

- رصيد كل خزينة بشكل منفصل
- تفصيل: الإيرادات | مدفوعات الطلاب | المصروفات
- 💰 الإجمالي الكلي لجميع الخزائن
- ⚠️ تنبيه فوري عند وجود رصيد سالب (إطار أحمر)
- أيقونات ملونة مميزة لكل خزينة

🚨 تنبيهات ذكية: عند وجود رصيد سالب، يظهر إشعار منبثق فوري مع تفاصيل الخزائن السالبة!

### 💰 تسجيل المعاملات المالية

#### ربط كل معاملة بخزينة محددة

عند إضافة مصروف أو إيراد أو دفعة:

1. افتح نموذج الإضافة (مصروف/إيراد/دفعة طالب)
2. اختر الخزينة من القائمة المنسدلة
3. اكمل باقي البيانات
4. احفظ - سيتم تحديث رصيد الخزينة تلقائياً!

⚡ ميزة سريعة: يمكنك إنشاء خزينة جديدة مباشرة من نموذج المصروفات دون الخروج!

### 📋 تقرير معاملات الخزائن

#### صفحة مخصصة لجميع معاملات الخزائن

الوصول: لوحة المدير → الخزائن → تقرير المعاملات

يعرض:

- جميع المعاملات من 3 مصادر (إيرادات، مصروفات، مدفوعات طلاب)
- التاريخ ونوع المعاملة والخزينة والمبلغ
- الرصيد بعد كل عملية - متابعة دقيقة
- فلترة قوية: حسب الخزينة، النوع، التاريخ
- إحصائيات في الأعلى: إجمالي الرصيد، عدد المعاملات

🎨 تصميم مميز: بطاقات إحصائية ملونة + جدول تفاعلي + أيقونات للتمييز بين الأنواع

### 📅 تقرير الحركة اليومية

#### Widget ذكي للحركة اليومية

جدول تفصيلي يعرض لكل خزينة:

- رصيد أول اليوم
- إيرادات اليوم
- مدفوعات الطلاب اليوم
- إجمالي الوارد
- مصروفات اليوم
- صافي الحركة اليومية (+ أو -)
- رصيد نهاية اليوم

📆 اختر التاريخ: يمكنك تغيير التاريخ لعرض حركة أي يوم تريده!

### ✅ نظام التسوية (Reconciliation)

#### مطابقة رصيد النظام مع الرصيد الفعلي

الوصول: لوحة المدير → تسويات الخزائن

خطوات عمل التسوية:

1. اضغط "إنشاء تسوية جديدة"
2. اختر الخزينة
3. حدد تاريخ التسوية
4. رصيد النظام يظهر تلقائياً!
5. أدخل الرصيد الفعلي من السكرتيرة
6. النظام يحسب الفرق تلقائياً
7. أضف ملاحظات إذا وجد فرق
8. احفظ

🔄 سير العمل:

- ⏳ قيد المراجعة (Pending) - بعد الإنشاء
- ✅ معتمدة (Approved) - بعد الموافقة
- ❌ مرفوضة (Rejected) - إذا كان هناك خطأ

### 🎯 الفوائد الرئيسية

#### لماذا نظام الخزائن المتقدم؟

- ✅ استقلالية تامة: كل خزينة منفصلة - لا خلط ولا تداخل
- ✅ تتبع دقيق: كل معاملة مربوطة بخزينتها الصحيحة
- ✅ حسابات تلقائية: الرصيد يتحدث فوراً مع كل عملية
- ✅ تنبيهات ذكية: إشعار فوري للرصيد السالب
- ✅ تقارير شاملة: معاملات، حركة يومية، تسويات
- ✅ سهولة في الاستخدام: واجهة بسيطة وواضحة
- ✅ Multi-Tenancy: كل فرع له خزائنه المستقلة

### 💡 نصائح الاستخدام

للحصول على أفضل النتائج:

- اختر الخزينة دائماً عند إضافة أي معاملة مالية
- راجع أرصدة الخزائن يومياً من Dashboard
- استخدم تقرير الحركة اليومية للمراجعة السريعة
- اعمل تسوية أسبوعية مع السكرتيرة
- انتبه للتنبيهات الحمراء (رصيد سالب)
- استخدم الفلاتر في تقرير المعاملات للبحث السريع

## 🎓 الدليل الشامل للشاشات الرئيسية

👥 دليل شاشة تسجيل بيانات الطلاب (Students)
📝 الجزء الأول: البيانات الأساسية للطالب

#### معلومات الطالب الشخصية:

##### 1. البيانات الإلزامية:

- الاسم الأول (First Name): اسم الطالب الأول - إلزامي
- اسم العائلة (Last Name): اسم العائلة - إلزامي
- الاسم بالكامل (Full Name): يُنشأ تلقائياً من الاسم الأول + اسم العائلة
- تاريخ الميلاد (Date of Birth): مهم لحساب العمر والمرحلة الدراسية
- النوع (Gender): ذكر / أنثى

##### 2. كود الطالب (Student Code):

- يتم توليده تلقائياً بتنسيق: `STU` + السنة + رقم تسلسلي
- مثال: `STU202600001`, `STU202600002`
- فريد لكل طالب ولا يتكرر
- يُستخدم للبحث السريع عن الطالب

##### 3. معلومات الاتصال:

- رقم الهاتف الأساسي (Phone): رقم هاتف الطالب أو ولي الأمر - إلزامي
- رقم هاتف بديل (Alt Phone): اختياري
- البريد الإلكتروني (Email): اختياري - يُستخدم للإشعارات
- العنوان (Address): العنوان الكامل - اختياري

👨‍👩‍👦 الجزء الثاني: بيانات أولياء الأمور

#### معلومات ولي الأمر:

##### 1. البيانات الأساسية:

- نوع ولي الأمر: أب / أم / وصي
- اسم ولي الأمر: الاسم الكامل
- رقم الهاتف: رقم تواصل ولي الأمر - إلزامي
- البريد الإلكتروني: لإرسال الإشعارات والتقارير
- المهنة: مهنة ولي الأمر - اختياري
- العلاقة بالطالب: أب / أم / جد / عم / وصي

##### 2. إنشاء حساب لولي الأمر (اختياري):

- ✅ يمكن إنشاء حساب لولي الأمر للدخول للـ Parent Panel
- يُرسل بريد إلكتروني ببيانات الدخول
- يمكن لولي الأمر متابعة: الحضور والغياب، الدرجات، المدفوعات، التواصل مع المعلمين

##### 3. ولي أمر متعدد:

- يمكن إضافة أكثر من ولي أمر للطالب الواحد
- مثال: الأب + الأم

📚 الجزء الثالث: المجموعات والتسجيل

#### تسجيل الطالب في المجموعات:

##### 1. اختيار المجموعات (Multiple Selection):

- اختيار متعدد: يمكن تسجيل الطالب في أكثر من مجموعة
- عرض المجموعات المتاحة مع: اسم المجموعة، الكورس المرتبط، المعلم المسؤول، عدد الطلاب الحالي

##### 2. طريقة الحفظ:

- يتم حفظ المجموعات في جدول pivot: `group_student`
- كل صف يمثل ربط بين طالب ومجموعة
- يمكن التعديل لاحقاً (إضافة/حذف مجموعات)

##### 3. العرض في بطاقة الطالب:

- تظهر جميع المجموعات المسجلة في تبويب منفصل
- لكل مجموعة: اسم المجموعة، الكورس، المعلم، حالة التسجيل

📷 الجزء الرابع: الصورة والمستندات

#### صورة الطالب:

- ✅ رفع صورة شخصية للطالب
- الصيغ المدعومة: JPG, PNG, JPEG
- الحجم الأقصى: 2MB
- تُعرض في البطاقة الشخصية وجميع التقارير

#### المستندات:

- شهادة الميلاد
- صورة بطاقة ولي الأمر
- آخر شهادة دراسية
- أي مستندات أخرى

💡 الجزء الخامس: ملاحظات هامة

#### نصائح عند تسجيل الطالب:

- 🔴 تأكد من إدخال رقم هاتف صحيح - مهم للتواصل
- 📅 تاريخ الميلاد دقيق - يؤثر على التقارير والإحصائيات
- 👥 تسجيل المجموعات من شاشة الطالب - أسهل وأسرع
- 💰 التسجيل المالي من شاشة Enrollments - ليس من شاشة Students
- ✅ مراجعة البيانات قبل الحفظ - التعديل لاحقاً يحتاج صلاحيات

#### الفرق بين الشاشات:

الشاشة | الوظيفة
--- | ---
Students | إدخال بيانات الطالب الشخصية + المجموعات
Enrollments | التسجيل المالي + اختيار الكورسات + الأقساط
Payments | تسجيل المدفوعات والأقساط

📝 دليل شاشة التسجيلات (Enrollments)

### ⭐ جديد: نظام إدارة الكورسات المتقدم

تم إضافة نظام متقدم لإدارة الكورسات في صفحة "تسجيلاتي" للطالب:

- ✅ 3 حالات للكورس: غير نشط ↔ نشط ↔ مكتمل
- ✅ عداد السيشنات: يظهر الحصة الحالية من 12
- ✅ اختيار المجموعة الذكي: مع فحص التوافقية
- ✅ تحديث تلقائي: عند تسجيل المعلم لسيشن جديد

📖 للمزيد: انظر قسم "نظام إدارة كورسات الطالب المتقدم" أسفل هذه الصفحة

📌 الجزء الأول: معلومات التسجيل الأساسية

#### أ) اختيار الطالب:

- اختر الطالب من القائمة باستخدام كود الطالب
- البحث بكود الطالب أو الاسم
- يظهر: كود الطالب - اسم الطالب

#### ب) اختيار المجموعة (Group) - إلزامي:

- المجموعة إلزامية ولا يمكن التسجيل بدونها
- عند اختيار المجموعة، يتم:
  - تحديد الكورس الأساسي تلقائياً
  - حساب سعر الكورس الأساسي تلقائياً
- يظهر: اسم المجموعة - اسم الكورس

#### ج) المسار التعليمي (Track) - اختياري:

- للتصنيف فقط - غير إلزامي
- يمكن ترك المسار فارغاً
- يُستخدم لتنظيم التقارير والإحصائيات

#### د) الكورسات الإضافية:

- اختيار متعدد باستخدام Select (Multiple)
- عرض كل كورس مع سعره: `اسم الكورس - السعر ج.م`
- يمكن البحث في الكورسات
- عند اختيار الكورسات:
  - ✅ حساب الإجمالي تلقائياً
  - ✅ تحديث المتبقي تلقائياً
  - ✅ حفظ سعر كل كورس وقت التسجيل

💰 الجزء الثاني: التفاصيل المالية

#### إجمالي قيمة الكورسات:

- يُحسب تلقائياً من مجموع أسعار الكورسات المختارة
- معطّل (للعرض فقط)
- يتحدث عند إضافة/حذف كورسات

#### الخصم (Discount):

- أدخل قيمة الخصم بالجنيه
- يتم خصمه من الإجمالي
- يُحدث المتبقي تلقائياً

#### المدفوع مقدماً (Paid Amount):

- المبلغ المدفوع عند التسجيل
- يُسجل في جدول enrollments
- يُحدث المتبقي تلقائياً

#### المتبقي (Remaining):

- يُحسب تلقائياً بالمعادلة:

    المتبقي = إجمالي الكورسات - الخصم - المدفوع مقدماً

- معطّل (للعرض فقط)
- يتحدث عند تغيير أي من: الكورسات، الخصم، أو المدفوع

📅 الجزء الثالث: نظام التقسيط (Installments)

#### نوع الدفع (Payment Plan):

- دفعة واحدة (Full): دفع المبلغ كاملاً
- أقساط (Installments): تقسيط المبلغ

#### عند اختيار نظام الأقساط:

1. عدد الأقساط (Installments Count):
   - أدخل عدد الأقساط (من 2 إلى 12)
   - يظهر قسم "تفاصيل الأقساط" تلقائياً
2. تفاصيل الأقساط (Repeater):
   - رقم القسط: يتم ترقيمه تلقائياً (1، 2، 3...)
   - المبلغ: قيمة القسط بالجنيه
   - تاريخ الاستحقاق: متى يجب دفع هذا القسط
   - الحالة: قيد الانتظار / مدفوع / متأخر / مدفوع جزئياً
   - المبلغ المدفوع: المبلغ المدفوع فعلياً من هذا القسط (افتراضي: 0)
   - تاريخ الدفع: متى تم الدفع (اختياري)
   - ملاحظات: أي ملاحظات إضافية

#### مثال عملي:

                            الطالب: أحمد محمد (STD-001)
                            المجموعة: مجموعة البرمجة - كورس Python
                            المسار: مسار البرمجة (اختياري)
                            الكورسات الإضافية:
                              - HTML/CSS - 500 ج.م
                              - JavaScript - 800 ج.م

                            الإجمالي: 1800 ج.م (كورس المجموعة 500 + HTML 500 + JS 800)
                            الخصم: 200 ج.م
                            المدفوع مقدماً: 500 ج.م
                            المتبقي: 1100 ج.م (1800 - 200 - 500)

                            نوع الدفع: أقساط
                            عدد الأقساط: 3

                            القسط #1:
                            - المبلغ: 400 ج.م
                            - تاريخ الاستحقاق: 15/02/2026
                            - الحالة: قيد الانتظار

                            القسط #2:
                            - المبلغ: 350 ج.م
                            - تاريخ الاستحقاق: 15/03/2026
                            - الحالة: قيد الانتظار

                            القسط #3:
                            - المبلغ: 350 ج.م
                            - تاريخ الاستحقاق: 15/04/2026
                            - الحالة: قيد الانتظار

#### ملاحظات مهمة:

- 🔴 المجموعة إلزامية - لا يمكن التسجيل بدونها
- ⚪ المسار اختياري - للتصنيف فقط
- 📝 رقم القسط يُحسب تلقائياً - لا تقلق بشأنه
- 💰 الأسعار تُحفظ وقت التسجيل - التغييرات المستقبلية لا تؤثر
- ✅ الحسابات تلقائية - الإجمالي والمتبقي يتحدثان تلقائياً

💵 نظام المدفوعات الشامل (Payments)
📋 الجزء الأول: معلومات التسجيل والمدفوعات

#### عند إنشاء دفعة جديدة:

##### 1️⃣ اختيار الطالب:

- اختر الطالب من القائمة
- يظهر تلقائياً جميع بيانات التسجيل الأخير النشط

##### 2️⃣ معلومات التسجيل (تظهر تلقائياً):

- المسار: المسار المسجل فيه الطالب (للتصنيف)
- إجمالي قيمة الكورسات: مجموع أسعار جميع الكورسات المسجلة
- الخصم: الخصم الممنوح في التسجيل
- كود التسجيل: كود التسجيل الفريد (مثل: ENR202600001)

##### 3️⃣ تفاصيل المدفوعات (عرض تفصيلي):

قسم جديد يعرض بالتفصيل:

الحقل | الوصف | الأيقونة
--- | --- | ---
المدفوع مقدماً | المبلغ المدفوع عند التسجيل (من جدول enrollments) | 💰
مدفوعات أخرى سابقة | مجموع المدفوعات السابقة المكتملة (من جدول payments) | 📋
إجمالي المدفوع | المدفوع مقدماً + المدفوعات الأخرى | ✅
المتبقي | الإجمالي - الخصم - إجمالي المدفوع | ⚠️

##### المعادلة:

                            إجمالي المدفوع = enrollment.paid_amount + Σ(payments.amount WHERE status='completed')
                            المتبقي = Σ(enrollment_courses.course_price) - enrollment.discount - إجمالي المدفوع

📅 الجزء الثاني: جدول الأقساط والحالات

#### 4️⃣ جدول الأقساط (إذا كان التسجيل بنظام التقسيط):

يظهر جدول شامل لجميع الأقساط:

رقم القسط | المبلغ | تاريخ الاستحقاق | المبلغ المدفوع | المتبقي | تاريخ الدفع | الحالة
--- | --- | --- | --- | --- | --- | ---
1 | 400 ج.م | 15/01/2026 | 400 ج.م | 0 ج.م | 10/01/2026 | ✅ مدفوع
2 | 350 ج.م | 15/02/2026 | 150 ج.م | 200 ج.م | - | ⚠️ مدفوع جزئياً
3 | 350 ج.م | 15/03/2026 | 0 ج.م | 350 ج.م | - | ⏳ قيد الانتظار
الإجمالي | 1100 ج.م | - | 550 ج.م | 550 ج.م | - | -

##### حالات القسط:

- ✅ مدفوع (Paid): تم دفع القسط كاملاً
- ⚠️ مدفوع جزئياً (Partial): تم دفع جزء من القسط
- 🔴 متأخر (Overdue): تجاوز تاريخ الاستحقاق ولم يُدفع
- ⏳ قيد الانتظار (Pending): لم يحن وقته بعد

📚 الجزء الثالث: الكورسات والمحاضرات

#### 5️⃣ الكورسات والمحاضرات:

قسم تفصيلي لكل كورس مسجل:

##### البطاقة الإحصائية لكل كورس:

- 📚 إجمالي المحاضرات: العدد الكلي
- ✅ تم شرحها: المحاضرات المكتملة
- ⏰ متبقية: المحاضرات المتبقية
- 📊 شريط تقدم: نسبة الإنجاز (مثل: 60%)

##### جدول المحاضرات:

التاريخ | اليوم | من | إلى | الحالة
--- | --- | --- | --- | ---
2026-01-10 | الأحد | 10:00 AM | 12:00 PM | ✅ منتهية
2026-01-12 | الثلاثاء | 10:00 AM | 12:00 PM | 🔵 جارية
2026-01-15 | الجمعة | 10:00 AM | 12:00 PM | 🟡 مجدولة

💳 الجزء الرابع: إدخال الدفعة الجديدة

#### 6️⃣ معلومات الدفعة اليوم:

- كود الدفعة: يتم توليده تلقائياً (مثل: PAY20260100001)
- المبلغ المدفوع اليوم: أدخل المبلغ
  - يظهر افتراضياً المبلغ المتبقي
  - يمكن تعديله للدفع الجزئي

#### 7️⃣ تفاصيل الدفع:

- طريقة الدفع: نقدي / بطاقة / تحويل بنكي / أونلاين
- تاريخ الدفع: تاريخ اليوم افتراضياً
- تاريخ الاستحقاق: (اختياري)
- الحالة: معلق / مكتمل / فاشل / مسترجع

#### 8️⃣ معلومات إضافية:

- رقم المعاملة: (اختياري)
- استلمت بواسطة: المستخدم الذي استلم الدفعة
- ملاحظات: أي ملاحظات إضافية

⚡ الجزء الخامس: آلية التوزيع التلقائي للمدفوعات

#### آلية توزيع المدفوعات على الأقساط:

عند حفظ دفعة جديدة، يتم:

1. توزيع تلقائي على الأقساط:
   - يبدأ من أقدم قسط (حسب تاريخ الاستحقاق)
   - يدفع القسط كاملاً أو جزء منه
   - ينتقل للقسط التالي إذا تبقى مبلغ
2. تحديث حالة القسط:
   - إذا دُفع كاملاً → حالة "مدفوع"
   - إذا دُفع جزء منه → حالة "مدفوع جزئياً"
   - يتم حفظ تاريخ الدفع تلقائياً
3. تحديث إجمالي المدفوع:
   - يتم تحديث `enrollment.paid_amount` تلقائياً
   - يظهر في الدفعة التالية ضمن "إجمالي المدفوع"

#### ملاحظات مهمة:

- 💡 التوزيع التلقائي: المدفوعات توزع تلقائياً على الأقساط المستحقة
- 📊 التحديث الفوري: جميع الأرصدة تتحدث فوراً بعد كل دفعة
- 🔄 الدفعة التالية: عند فتح دفعة جديدة، ستجد كل شيء محدث
- 📈 التقارير الدقيقة: جميع الحسابات دقيقة ومتزامنة
- ⚡ لا حاجة لحسابات يدوية: كل شيء تلقائي ومحسوب

📋 الجزء السادس: مثال عملي شامل

                            طالب: أحمد محمد
                            التسجيل: ENR202600001
                            إجمالي الكورسات: 2000 ج.م
                            الخصم: 200 ج.م
                            المدفوع مقدماً: 300 ج.م
                            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

                            تفاصيل المدفوعات:
                            💰 المدفوع مقدماً (عند التسجيل): 300 ج.م
                            📋 مدفوعات أخرى سابقة: 500 ج.م
                            ✅ إجمالي المدفوع: 800 ج.م
                            ⚠️ المتبقي: 1000 ج.م
                            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

                            جدول الأقساط:
                            ┌───┬────────┬──────────┬───────────┬──────────┬───────────┬──────────────┐
                            │ # │ المبلغ │ الاستحقاق│ المدفوع  │ المتبقي │ تاريخ الدفع│   الحالة    │
                            ├───┼────────┼──────────┼───────────┼──────────┼───────────┼──────────────┤
                            │ 1 │ 500 ج.م│ 15/01/26 │ 500 ج.م  │ 0 ج.م   │ 10/01/26  │ ✅ مدفوع    │
                            │ 2 │ 500 ج.م│ 15/02/26 │ 200 ج.م  │ 300 ج.م │ 05/02/26  │ ⚠️ جزئي     │
                            │ 3 │ 500 ج.م│ 15/03/26 │ 0 ج.م    │ 500 ج.م │ -         │ ⏳ قيد الانتظار│
                            └───┴────────┴──────────┴───────────┴──────────┴───────────┴──────────────┘
                            إجمالي: 1500 ج.م     مدفوع: 700 ج.م     متبقي: 800 ج.م

                            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                            الكورسات والمحاضرات:

                            📚 كورس Python (C-0015) - 600 ج.م
                               ├─ إجمالي المحاضرات: 12
                               ├─ تم شرحها: 8
                               ├─ متبقية: 4
                               └─ التقدم: ████████░░░░ 67%

                            📚 كورس HTML/CSS (C-0023) - 500 ج.م
                               ├─ إجمالي المحاضرات: 10
                               ├─ تم شرحها: 5
                               ├─ متبقية: 5
                               └─ التقدم: █████░░░░░ 50%

                            📚 كورس JavaScript (C-0024) - 900 ج.م
                               ├─ إجمالي المحاضرات: 15
                               ├─ تم شرحها: 3
                               ├─ متبقية: 12
                               └─ التقدم: ██░░░░░░░░ 20%

                            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                            دفعة جديدة:
                            كود الدفعة: PAY20260100002
                            المبلغ المدفوع: 400 ج.م
                            طريقة الدفع: نقدي
                            تاريخ الدفع: 09/01/2026

                            سيتم توزيع المبلغ:
                            → 300 ج.م للقسط #2 (يصبح مدفوع كاملاً)
                            → 100 ج.م للقسط #3 (يصبح مدفوع جزئياً)

                            بعد الدفع:
                            ✅ إجمالي المدفوع: 1200 ج.م
                            ⚠️ المتبقي: 600 ج.م

## 💰 دليل تقرير الخزينة (Treasury Report)

🎯 تقرير شامل: يعرض جميع المعاملات المالية للمؤسسة من مدفوعات، إيرادات، ومصروفات

### 📊 نظرة عامة على التقرير

#### ما هو تقرير الخزينة؟

تقرير شامل يعرض جميع المعاملات المالية للمؤسسة من مدفوعات، إيرادات، ومصروفات.

الوصول للتقرير:

- من القائمة الرئيسية → Reports → Treasury Report
- الصلاحية المطلوبة: Admin أو Accountant

المعلومات المعروضة:

- إجمالي الإيرادات - مجموع المدفوعات المكتملة
- إجمالي المصروفات - المصاريف والرواتب
- الرصيد الحالي - الإيرادات - المصروفات
- عدد المعاملات - إجمالي العمليات المالية

### 🔍 الفلترة والبحث

#### خيارات الفلترة المتقدمة

1. حسب التاريخ:

- من تاريخ: بداية الفترة
- إلى تاريخ: نهاية الفترة
- اختصارات: اليوم / هذا الأسبوع / هذا الشهر / هذه السنة

2. حسب نوع المعاملة:

- ✅ إيرادات (Revenues):
  - مدفوعات الطلاب
  - رسوم التسجيل
  - مدفوعات متأخرة
- ❌ مصروفات (Expenses):
  - رواتب الموظفين
  - فواتير ومستلزمات
  - صيانة وإصلاحات

3. حسب طريقة الدفع:

- نقدي (Cash)
- بطاقة ائتمان (Credit Card)
- تحويل بنكي (Bank Transfer)
- أونلاين (Online Payment)

4. حسب الحالة:

- مكتمل (Completed)
- معلق (Pending)
- فاشل (Failed)
- مسترجع (Refunded)

### 📋 تفاصيل المعاملات

#### جدول المعاملات التفصيلي

عرض جدول شامل يتضمن:

- التاريخ: تاريخ ووقت المعاملة
- كود المعاملة: رقم فريد (مثل: PAY20260100001)
- النوع: إيراد / مصروف
- الطالب/الجهة: اسم الطالب أو الجهة
- المبلغ: قيمة المعاملة بالجنيه
- الطريقة: كيف تم الدفع
- الحالة: حالة المعاملة (✅ مكتمل / ⏳ معلق)
- العمليات: زر عرض التفاصيل

### 📈 التقارير والإحصائيات

#### إحصائيات الخزينة الشاملة

1. ملخص شهري:

                                يناير 2026
                                ═══════════════════════
                                💰 إجمالي الإيرادات: 45,000 ج.م
                                ❌ إجمالي المصروفات: 25,000 ج.م
                                ✅ الرصيد النهائي: 20,000 ج.م
                                📊 عدد المعاملات: 156 عملية

2. توزيع الإيرادات:

- مدفوعات التسجيل: 60%
- مدفوعات الأقساط: 35%
- رسوم إضافية: 5%

3. توزيع المصروفات:

- رواتب: 70%
- مستلزمات: 15%
- فواتير: 10%
- صيانة: 5%

4. طرق الدفع الأكثر استخداماً:

- نقدي: 55%
- بنك: 30%
- بطاقة: 10%
- أونلاين: 5%

### 📥 التصدير والطباعة

#### خيارات متعددة للتصدير

1. صيغ التصدير المتاحة:

- PDF - للطباعة الرسمية
- Excel - للتحليل والمعالجة
- CSV - للاستيراد في برامج أخرى

2. خيارات الطباعة:

- طباعة التقرير الكامل
- طباعة فترة محددة
- طباعة معاملات محددة فقط

3. البيانات المصدرة:

- جميع المعاملات حسب الفلتر المطبق
- الإحصائيات والملخصات
- الرسوم البيانية (للـ PDF)

### 🔒 الصلاحيات والأمان

#### من يمكنه الوصول؟

- ✅ Super Admin - وصول كامل لجميع المعاملات
- ✅ Owner - وصول لمعاملات المؤسسة الخاصة به
- ✅ Accountant - عرض التقارير فقط (بدون تعديل)
- ❌ Instructor/Student/Parent - لا يمكنهم الوصول

سجل المراجعة (Audit Log):

- تسجيل كل عملية عرض للتقرير
- من شاهد التقرير ومتى
- الفلاتر المستخدمة
- العمليات المصدّرة

## 📝 نظام الامتحانات المحسّن

🎯 تحديث جديد: عرض ملفات PDF للامتحانات بشكل احترافي وآمن

### 📄 عرض ملفات PDF

#### للمدرسين: رفع ملفات الامتحانات

خطوات رفع ملف PDF:

1. افتح صفحة تعديل الامتحان
2. انتقل إلى قسم "ملف الامتحان"
3. اضغط "اختر ملف" أو اسحب الملف
4. النظام يقبل فقط ملفات PDF (آمن ومحمي)
5. احفظ - سيتم رفع الملف مباشرة

🔒 أمان: الملفات محفوظة في مجلد خاص محمي - لا يمكن الوصول لها مباشرة من المتصفح

### 👁️ معاينة ملف الامتحان

#### عرض احترافي بتصميم Bootstrap

المميزات:

- 🎨 بطاقة جميلة بتدرج لوني (gradient)
- 📄 أيقونة ملف PDF كبيرة وواضحة
- 👆 زر "عرض الملف" لفتح PDF داخل الصفحة
- 🔗 رابط "فتح في نافذة جديدة" لفتح PDF في تبويب منفصل
- ✅ تصميم responsive - يعمل على كل الأجهزة

🔐 الحماية: النظام يتحقق من صلاحية المستخدم قبل عرض أي ملف

### 📱 للطلاب: الوصول للامتحانات

#### سهولة في الاستخدام

الطالب يستطيع:

- مشاهدة الامتحانات المتاحة له
- فتح ملف PDF مباشرة من صفحة الامتحان
- تكبير وتصغير الملف للقراءة المريحة
- تنزيل الملف للمراجعة offline

### 🔄 تحديثات أخرى للامتحانات

#### تحسينات الأداء

- ✅ تخزين آمن للملفات في private storage
- ✅ روابط ديناميكية محمية
- ✅ تحقق من نوع الملف (PDF فقط)
- ✅ معالجة أخطاء محسّنة (404، غير مصرح)
- ✅ واجهة عرض جميلة مع Bootstrap

## 📱 نظام الرسائل النصية (SMS Notifications)

🎯 تواصل فوري وتلقائي: إرسال إشعارات SMS تلقائية لأولياء الأمور والطلاب عند كل حدث مهم في النظام!

### 🌟 ما هو نظام SMS؟

#### نظام إشعارات ذكي عبر الرسائل النصية

نظام متكامل يرسل تلقائياً رسائل نصية SMS لأولياء الأمور والطلاب في الحالات التالية:

- 📊 تسجيل حضور أو غياب: إشعار فوري لولي الأمر عن حضور/غياب الطالب
- 📝 نتيجة امتحان: إرسال الدرجة والنسبة المئوية فور إضافتها
- 💰 تأكيد مدفوعات: رسالة تأكيد عند استلام أي دفعة
- 🎓 امتحان جديد: تذكير بموعد الامتحان والمدة والمجموعة
- 📚 واجب جديد: إشعار بواجب جديد مع موعد التسليم

### 🚀 المزودين المدعومين

#### 5 مزودي خدمة SMS للاختيار من بينهم

🌍 Twilio - مزود عالمي يدعم جميع دول العالم

- تغطية عالمية ممتازة
- موثوقية عالية
- سهل التفعيل والاستخدام

🌍 Vonage / Nexmo - مزود عالمي آخر

- خدمة عالمية موثوقة
- أسعار تنافسية
- دعم فني ممتاز

🇪🇬 Vodafone Egypt - مزود مصري محلي

- متخصص في الأرقام المصرية
- سرعة توصيل عالية داخل مصر
- دعم فني محلي

🧪 Log Driver - للاختبار (بدون إرسال فعلي)

- يحفظ الرسائل في السجلات فقط
- مثالي للاختبار والتطوير
- لا يكلف أي رسوم

### ⚙️ كيفية إعداد النظام

#### خطوات التفعيل للمدير:

1. افتح صفحة الإعدادات: من القائمة الجانبية، اضغط "إعدادات SMS"
2. اختر المزود: حدد مزود الخدمة المناسب لك:
   - للاختبار: اختر "Log"
   - للاستخدام الفعلي: اختر Twilio أو Vonage أو Vodafone
3. أدخل بيانات المزود:
   - Twilio: SID + Token + رقم المرسل
   - Vonage: API Key + Secret + اسم المرسل
   - Vodafone: Username + Password + اسم المرسل
4. ضبط Rate Limiting: حدد عدد الرسائل المسموح بها (افتراضي: 10/دقيقة، 100/ساعة)
5. فعّل Queue: لإرسال الرسائل في الخلفية بدون تأخير
6. احفظ الإعدادات: اضغط زر "حفظ الإعدادات"
7. اختبر النظام: اضغط "اختبار الإرسال" للتأكد من العمل

### 📊 مراقبة الرسائل

#### سجل شامل لجميع الرسائل المرسلة

في صفحة "سجل الرسائل النصية" يمكنك:

- عرض جميع الرسائل المرسلة
- معرفة حالة كل رسالة (مرسل ✅ | فاشل ❌ | قيد الانتظار ⏳)
- رؤية المزود المستخدم لكل رسالة
- البحث برقم الهاتف
- الفلترة حسب الحالة، المزود، أو التاريخ
- عرض تفاصيل أي رسالة

Widget الإحصائيات في Dashboard:

- 📱 إجمالي الرسائل: مع رسم بياني لآخر 7 أيام
- ✅ رسائل مرسلة: مع معدل النجاح
- ❌ رسائل فاشلة: مع تنبيه إذا كانت أكثر من 0
- 📅 رسائل اليوم: عدد الرسائل المرسلة اليوم

### 💡 القوالب الجاهزة

#### 5 قوالب رسائل معدّة مسبقاً

يمكنك استخدام القوالب الجاهزة أو تعديلها حسب حاجتك:

1️⃣ إشعار الغياب:
`"عزيزي ولي الأمر، نفيدكم بأن الطالب/ة {student_name} كان غائباً/ة اليوم {date}"`
2️⃣ إشعار التأخير:
`"إشعار تأخير الطالب {student_name} في تاريخ {date}"`
3️⃣ تذكير امتحان:
`"تذكير: امتحان {exam_title} في {exam_date} الساعة {exam_time}"`
4️⃣ تأكيد دفعة:
`"تم استلام دفعة بمبلغ {amount} جنيه بنجاح"`
5️⃣ درجة جديدة:
`"تم إضافة درجة جديدة للطالب {student_name} في {exam_title}"`

### 🔐 الأمان والخصوصية

#### حماية كاملة لبياناتك

- 🔒 API Keys محمية: جميع المفاتيح محفوظة بشكل آمن في ملف .env
- ⏱️ Rate Limiting: منع إساءة الاستخدام بحد أقصى للإرسال
- ✅ Phone Validation: التأكد من صحة الأرقام قبل الإرسال
- 📝 Database Logging: سجل كامل لكل عملية للمراجعة
- 🔄 تحويل تلقائي: الأرقام المصرية تُحول تلقائياً للصيغة الدولية (+20)

### 💰 التكاليف

💵 ملاحظات هامة عن التكاليف:

- كل مزود له أسعاره الخاصة (عادة بضعة قروش/رسالة)
- Log Driver مجاني تماماً (للاختبار فقط)
- يمكنك مراقبة عدد الرسائل المرسلة من Widget الإحصائيات
- Rate Limiting يحميك من إرسال آلاف الرسائل عن طريق الخطأ

### 🚀 متى يتم إرسال الرسائل؟

#### الإرسال التلقائي - بدون تدخل يدوي!

النظام يرسل الرسائل تلقائياً في هذه الحالات:

1️⃣ عند تسجيل حضور/غياب:

- يُرسَل لولي الأمر فوراً
- يحتوي على اسم الطالب، الحالة، التاريخ، المجموعة

2️⃣ عند إضافة درجة امتحان:

- يُرسَل للطالب وولي الأمر
- يحتوي على اسم الامتحان والدرجة والنسبة المئوية

3️⃣ عند تأكيد دفعة:

- يُرسَل لولي الأمر
- يحتوي على المبلغ والحالة

4️⃣ عند إضافة امتحان جديد:

- يُرسَل لجميع طلاب المجموعة
- يحتوي على اسم الامتحان، الموعد، المدة

5️⃣ عند إضافة واجب جديد:

- يُرسَل لجميع طلاب المجموعة
- يحتوي على اسم الواجب وموعد التسليم

## 🔐 نظام الأدوار والصلاحيات المتقدم

📋 ما هو النظام؟

نظام متطور لإدارة الأدوار والصلاحيات يسمح بتخصيص الوصول لكل panel بشكل منفصل، مع فلترة ذكية للصلاحيات حسب نوع المستخدم.

### 🎯 الميزة الرئيسية: Panel Type

#### 🔑 أنواع الأدوار الخمسة:

1️⃣ Admin Panel (إداري كامل)

- ✅ يرى جميع الصلاحيات من كل الـ panels
- ✅ للأدوار: super_admin, branch_manager, secretary
- ✅ التحكم الكامل في النظام

2️⃣ Instructor Panel (المدرسين)

- ✅ يرى فقط صلاحيات `App\Filament\Instructor\*`
- ✅ مثال: Groups, Students, Assignments, Exams
- ✅ لا يرى صلاحيات المؤسسات أو الإدارة

3️⃣ Student Panel (الطلاب)

- ✅ يرى فقط صلاحيات `App\Filament\Student\*`
- ✅ مثال: Grades, Payments, Assignments, Attendance
- ✅ تحكم محدود في نطاق الطالب فقط

4️⃣ Parent Panel (أولياء الأمور)

- ✅ يرى فقط صلاحيات `App\Filament\Parent\*`
- ✅ مثال: Children Reports, Payments, Messages
- ✅ متابعة الأبناء فقط

5️⃣ Supervisor Panel (المشرفين)

- ✅ يرى فقط صلاحيات `App\Filament\Supervisor\*`
- ✅ مثال: Groups Monitoring, Attendance Reviews
- ✅ صلاحيات قراءة فقط (View Only)

### 📂 البنية الفنية (Filament 4 Compatible)

    app/Filament/Admin/Resources/Roles/
                                ├── RoleResource.php        ← الملف الرئيسي
                                ├── Schemas/
                                │   └── RoleSchema.php     ← Form منفصل
                                ├── Tables/
                                │   └── RolesTable.php     ← Table منفصل
                                └── Pages/
                                    ├── ListRoles.php
                                    ├── CreateRole.php
                                    ├── EditRole.php
                                    └── ViewRole.php

                                app/Filament/Traits/
                                └── HasPanelFilteredPermissions.php  ← الفلترة الذكية

### 🎨 واجهة المستخدم

#### 📋 جدول الأدوار المحسّن:

- ✅ عمود Panel Type مع Badges ملونة
- 🔴 أحمر للـ Admin Panel
- 🟠 برتقالي للـ Instructor
- 🟢 أخضر للـ Student
- 🔵 أزرق للـ Parent
- 🟣 بنفسجي للـ Supervisor
- ✅ عداد الصلاحيات (Permissions Count)
- ✅ تاريخ آخر تحديث

#### 📝 فورم إنشاء/تعديل الدور:

الحقول الرئيسية:

- اسم الدور: مثال instructor_manager
- نوع البانل: قائمة منسدلة مع أيقونات
- Select All: تحديد/إلغاء جميع الصلاحيات
- Permissions Tabs: Resources | Pages | Widgets

### ⚙️ كيفية الاستخدام

الخطوة 1: إنشاء دور جديد

1. اذهب إلى: `Admin Panel → الإعدادات → الأدوار والصلاحيات`
2. اضغط على إنشاء
3. أدخل اسم الدور (مثال: `instructor_manager`)
4. اختر نوع البانل من القائمة المنسدلة

الخطوة 2: الفلترة التلقائية

بمجرد اختيار Panel Type، ستظهر فقط الصلاحيات المتعلقة بهذا البانل:

- ✅ Resources: فقط resources البانل المختار
- ✅ Pages: فقط صفحات البانل المختار
- ✅ Widgets: فقط widgets البانل المختار

الخطوة 3: تحديد الصلاحيات

1. انتقل بين التبويبات الثلاثة: Resources | Pages | Widgets
2. حدد الصلاحيات المطلوبة لكل resource
3. مثال: `viewAny, view, create, update, delete`
4. استخدم Select All لتحديد الكل بسرعة

الخطوة 4: إسناد الدور للمستخدمين

1. اذهب إلى: `Admin Panel → المستخدمين`
2. افتح ملف المستخدم المطلوب
3. في قسم الأدوار، اختر الدور المناسب
4. احفظ التغييرات

### 🎁 الأدوار الجاهزة (Pre-seeded)

4 أدوار تم إنشاؤها تلقائياً:

- ✅ instructor_manager (panel_type: instructor)
- ✅ student_manager (panel_type: student)
- ✅ parent_manager (panel_type: parent)
- ✅ supervisor_manager (panel_type: supervisor)

يمكنك تعديل صلاحياتهم مباشرة أو استخدامهم كما هم!

### 🔧 التفاصيل التقنية

#### 📊 Database Schema:

    roles table:
                                ├── id
                                ├── name
                                ├── panel_type  ← جديد! (nullable)
                                ├── guard_name
                                ├── created_at
                                └── updated_at

                                Index: panel_type (للبحث السريع)

#### 🧩 HasPanelFilteredPermissions Trait:

- ✅ `getPanelType()` - جلب panel_type من الفورم
- ✅ `getResourceEntitiesSchema()` - فلترة Resources
- ✅ `getPageOptions()` - فلترة Pages
- ✅ `getWidgetOptions()` - فلترة Widgets
- ✅ فلترة بناءً على namespace: `str_starts_with($fqcn, $panelNamespace)`

### 💡 نصائح الاستخدام

⚠️ للأدوار الإدارية (super_admin, branch_manager):

اترك حقل Panel Type فارغاً (null) حتى تظهر لهم جميع الصلاحيات من كل الـ panels!

💼 للأدوار المتخصصة:

اختر Panel Type المناسب، وستظهر فقط الصلاحيات ذات الصلة، مما يسهل التخصيص ويمنع الأخطاء.

🔄 Plugins Configuration:

تم إضافة جميع الـ plugins الضرورية (Shield, Health, Backgrounds, StickyHeader) لجميع الـ panels لضمان التوافق الكامل!

## ✨ مميزات النظام

#### 🌐 سهل الاستخدام

واجهة بسيطة وواضحة باللغة العربية، يمكن لأي شخص استخدامها بسهولة دون تعقيدات.

#### 📱 يعمل على جميع الأجهزة

يمكنك الدخول للنظام من الكمبيوتر، الجوال، أو التابلت بنفس الكفاءة.

#### 🔒 آمن ومحمي

كل مستخدم له حساب خاص محمي بكلمة مرور، ولا يمكنه رؤية إلا ما يخصه فقط.

#### ⚡ سريع وفعّال

النظام يعمل بسرعة عالية ويوفر الوقت والجهد على الجميع.

#### 📊 تقارير شاملة

تقارير دقيقة ومفصلة عن أداء الطلاب وسير العملية التعليمية.

#### 🎯 اختبارات ذكية

نظام اختبارات متقدم مع تصحيح تلقائي وحساب الدرجات بدقة.

#### 📧 إشعارات تلقائية

يرسل النظام إشعارات للمستخدمين عن الاختبارات والنتائج والتحديثات المهمة.

#### 🎨 تصميم عصري

ألوان جميلة وتصميم احترافي يجعل الاستخدام ممتعاً ومريحاً للعين.

#### 💰 نظام مالي متكامل

إدارة شاملة للمصروفات والإيرادات مع تقارير تحليلية وربط تلقائي لمدفوعات الطلاب.

#### 🏦 نظام الخزائن المتقدم (جديد!)

3 خزائن مستقلة (نقدي، فودافون كاش، إنستاباي) مع تقارير يومية وتسويات آلية وتنبيهات للرصيد السالب.

#### 📄 عرض ملفات PDF محسّن (جديد!)

رفع وعرض ملفات امتحانات PDF بشكل احترافي وآمن مع تصميم Bootstrap جميل.

#### 👨‍👩‍👧‍👦 لوحة ولي الأمر المحسّنة

واجهة مخصصة لأولياء الأمور لمتابعة أداء أبنائهم الدراسي والمالي والحضور مع إمكانية التبديل بين الأبناء.

#### 📊 Dashboard احترافي

لوحات معلومات ذكية للطالب وولي الأمر والمعلم بتصميم عصري وألوان جذابة وتحديث تلقائي.

#### 🎨 تصميم عصري متجاوب

واجهة جميلة بألوان متدرجة، أيقونات تعبيرية، وتأثيرات حركية تجعل الاستخدام ممتعاً على كل الأجهزة.

#### ⚡ أداء عالي وسرعة فائقة

بنيت على Laravel 12 و Filament 4 لضمان سرعة استجابة ممتازة وأداء موثوق.

#### 🔔 إشعارات ذكية

تنبيهات فورية للأحداث المهمة: رصيد سالب، امتحانات قادمة، مدفوعات معلقة، نتائج جديدة.

#### 🔄 Multi-Tenancy

دعم كامل لعدة فروع بعزل تام للبيانات - كل فرع له بياناته المستقلة والمحمية.

#### 🌐 دعم كامل للغة العربية

واجهة عربية 100% بخطوط واضحة واتجاه RTL صحيح مع دعم المصطلحات التعليمية العربية.

#### 🔐 نظام صلاحيات متقدم

Shield Permissions - إدارة دقيقة للصلاحيات والأدوار لكل مستخدم في النظام.

#### 🏢 Multi-Tenancy

النظام يدعم تعدد المستأجرين - كل مدرسة لها بياناتها المنفصلة تماماً.

#### 🌍 متعدد اللغات

دعم كامل للغة العربية والإنجليزية مع إمكانية إضافة لغات أخرى بسهولة.

## 💡 نصائح مهمة للاستخدام الأمثل

للمدير:

- ابدأ بإنشاء الأقسام والصفوف الدراسية أولاً
- ثم أضف المعلمين والطلاب وأولياء الأمور
- أسند كل معلم للمواد المناسبة له
- راجع التقارير بانتظام لمتابعة الأداء
- أنشئ فئات المصروفات والإيرادات قبل البدء بالتسجيل المالي
- راقب التقارير المالية دورياً لمعرفة الوضع المالي
- استخدم نظام الصلاحيات لتحديد من يستطيع الوصول لماذا

للمعلم:

- نظّم محتوى موادك بشكل منطقي ومتسلسل
- ضع اختبارات بسيطة ومتدرجة في الصعوبة
- راجع الأسئلة قبل نشر الاختبار
- تابع أداء طلابك باستمرار
- استخدم التقارير لتحسين أسلوب التدريس

للطالب:

- ادرس الدروس بانتظام قبل الاختبارات
- اقرأ تعليمات الاختبار بعناية
- احرص على وجود اتصال إنترنت مستقر أثناء الاختبار
- لا تؤجل الاختبارات حتى اللحظة الأخيرة
- راجع نتائجك لتعرف نقاط قوتك وضعفك
- تابع لوحة المعلومات بانتظام لمعرفة تقدمك
- راقب حالة مدفوعاتك وتأكد من السداد في الوقت المناسب

لولي الأمر:

- راجع لوحة المعلومات يومياً لمتابعة أبنائك
- تأكد من انتظام الحضور
- راقب المدفوعات المعلقة وسددها في الوقت المحدد
- تابع نتائج الاختبارات وناقشها مع أبنائك
- تواصل مع المعلمين عند الحاجة
- استخدم ميزة التبديل بين الأبناء لمتابعة الجميع

### 🎯 خطوات البداية السريعة

للمدير - ابدأ الآن:

1. سجّل الدخول بحساب المدير
2. أنشئ الأقسام والصفوف الدراسية
3. أضف المعلمين والطلاب وأولياء الأمور
4. أنشئ المواد الدراسية وأسندها للمعلمين
5. أنشئ فئات المصروفات والإيرادات
6. سجّل المصاريف والإيرادات
7. راجع التقارير المالية والتعليمية
8. ابدأ العمل!

## 🆘 هل تحتاج مساعدة؟

#### 📞 الدعم الفني

إذا واجهت أي مشكلة أو كان لديك أي استفسار، يمكنك التواصل مع فريق الدعم الفني.

💼 شركة المبتكر العربي للبرمجيات

نحن هنا لمساعدتك في أي وقت

#### 📖 التعلم والتدريب

يمكنك دائماً العودة لهذا الدليل لمراجعة أي خطوة أو معرفة كيفية استخدام أي ميزة في النظام.