لوحة التحكم
0 ج
صافي الشهر الحالي بعد المصاريف
0
جاهزون لاستلام شهادة
0
معلقون
Performance الكورسات
Employment Outcomes
سجل المتدربين
| رقم | الاسم | العمر | الكلية | المحافظة / المركز | واتساب | رصيد غير مستخدم | الكورسات | التخصص | إجراءات |
|---|
الكورسات
| الكورس | النوع | الدفعة | الفترة | المدرب | السعر | المحاضرات | المؤشرات | إجراءات |
|---|
سجل الكورس
الشهادات
| المتدرب | الكورس | تاريخ الإنهاء | السداد | الحالة | إجراء |
|---|
المعلقين
كورس غير مكتمل ولم يُسجل له حضور لمدة 3 أشهر. لو لم توجد أي علامة حضور، يبدأ الحساب من تاريخ الالتحاق.
| المتدرب | الكورس | آخر حضور / التحاق | المدة | المتبقي محاضرات | المتبقي ماليًا |
|---|
التخصصات / الأقسام
العاملون بالأقسام
المختص الذي توقّف في كل مراكز العمل يظل محفوظًا أسفل القائمة بشكل باهت. إذا كان نشطًا في مركز واحد على الأقل يظل ضمن العاملين النشطين.
| المختص | التخصص | أماكن العمل | بدء العمل | إجراء |
|---|
المصاريف والمرتجعات
أي مبلغ مرتجع يتم تسجيله من سجل الكورس أو أثناء إلغاء الالتحاق يظهر هنا تلقائيًا. تسجيل المرتجع من هنا لا يلغي التحاق المتدرب؛ يمكن رد مبلغ لمتدرب ما زال مستمرًا في الكورس.
| التاريخ والوقت | النوع | البند | لمن / الجهة | الكورس / التخصص | المبلغ | الطريقة | السبب / الملاحظات | بواسطة |
|---|
الحسابات الشهرية
| التاريخ والوقت | المتدرب | الكورس / التخصص | الدفعة / المصدر | نوع العملية | المبلغ | الطريقة | السبب / الملاحظة | المطلوب | صافي المسدد | المتبقي | بواسطة |
|---|
المستخدمون والصلاحيات
| الاسم | المسمى الوظيفي | نطاق الأقسام | الماليات | واتساب | الحالة | إجراءات |
|---|
يمكن إنشاء مسميات وظيفية مخصصة وتحديد صفحات البرنامج والأقسام/التخصصات المسموحة وطريقة إظهار الماليات. إدارة المستخدمين والمسميات الوظيفية تظل لمشرف التدريب فقط.
سجل العمليات
| التاريخ | المستخدم | النوع | العملية |
|---|
الإعدادات
القوائم المنسدلة
الحذف من القوائم يمنع ظهور القيمة في الإدخالات الجديدة، ولا يغيّر السجلات التاريخية المحفوظة بالفعل.
الحفظ والنسخ الاحتياطي
الحفظ تلقائي محليًا. النسخة الكاملة تُضغط ثم تُشفّر، ولا يمكن استعادتها إلا باسم مستخدم وكلمة مرور صالحين من وقت إنشاء النسخة.
📌 يُنصح بالاحتفاظ بنسخة من ملف الـBackup على جهاز التدريب خارج الفلاشة. يظهر تذكير إذا لم توجد نسخة كاملة أو أصبح عمر آخر Backup 30 يومًا فأكثر، ويظل موجودًا حتى إنشاء نسخة أحدث.
📦 النسخة الربع سنوية المحمولة
تظهر تذكرة كل 90 يومًا وتظل موجودة حتى إنشاء Snapshot جديد. ملف ZIP يحمل اسم Training Unit + تاريخ النسخة ويحتوي البرنامج والـRuntime، بينما بياناتك الحساسة تكون داخله كـBackup مشفر بكلمات مرور المستخدمين.
قواعد التشغيل والتخزين المحلي
القواعد المعتمدة لبناء الـLocal Backend المحمول على الفلاشة، مع سبب كل قاعدة وفائدتها.
🗄️ 1) البنية الأساسية للبيانات
قاعدة حالية مستقلة Main DBتحتوي البيانات النشطة التي يحتاجها التشغيل اليومي فقط.الفائدة: فتح أسرع وعدم تحميل التاريخ القديم في كل شاشة.
أرشيف ربع سنوي مستقلArchive لكل 3 شهور بدل ملف أرشيف واحد ضخم.الفائدة: إذا تلف ملف أرشيف واحد تظل القاعدة الحالية وباقي الأرباع قابلة للعمل.
Archive Index صغير داخل القاعدة الحاليةيسجل أي فترة موجودة في أي ملف أرشيف.الفائدة: البرنامج يفتح الملف المطلوب فقط بدل البحث في كل الأرشيفات.
الداتا منفصلة عن ملفات البرنامجالتحديث يغيّر البرنامج والـSchema عند الحاجة ولا يستبدل ملفات الداتا.الفائدة: تحديثات آمنة بدون فقد السجلات.
⚡ 2) قواعد السرعة وعدم التحميل الزائد
Lazy LoadingProfile أو Timeline لا يحمل التفاصيل الثقيلة إلا عند فتح الجزء المطلوب.الفائدة: سرعة ثابتة حتى مع تراكم سنوات من البيانات.
Paginationالقوائم تحمل عددًا محدودًا من الصفوف ثم «تحميل المزيد».الفائدة: عدم رسم آلاف الصفوف في الواجهة دفعة واحدة.
Search محدود النتائج + Indexesفهرسة رقم المتدرب والواتساب والكورس والتخصص والتواريخ والمدفوعات.الفائدة: الوصول المباشر للسجل بدل فحص قاعدة البيانات كاملة.
Summary Tables للوحة التحكمالإحصاءات تتحدث مع العمليات بدل إعادة حساب كل السجلات عند كل فتح.الفائدة: Dashboard يوم/شهر/سنة سريع حتى مع داتا ضخمة.
📦 3) قواعد الأرشفة
Activity Logآخر 3 شهور في Main، وما قبلها ينتقل إلى Archive الربع المناسب.الفائدة: السجل الحديث سريع والتاريخ الكامل محفوظ عند الطلب.
الكورس المرنالكورس نفسه لا يُؤرشف؛ Enrollment المكتمل منذ أكثر من 3 شهور هو الذي تُنقل تفاصيله الثقيلة.الفائدة: الكورس المستمر يظل متاحًا مع تقليل حجم البيانات النشطة.
الكورس الموسميالدفعة المنتهية منذ 3 شهور تنتقل للأرشيف إذا كانت مغلقة ماليًا.الفائدة: الدفعات الحالية سريعة والدفعات القديمة متاحة عند الطلب.
لا أرشفة لحالة مالية معلقةأي Enrollment عليه رصيد/Refund/تسوية غير مكتملة يظل Hot حتى إغلاقه.الفائدة: لا يحتاج التشغيل اليومي لفتح الأرشيف لإنهاء معاملة حالية.
الأرشيف يُفتح عند الطلب فقطالسجلات القديمة لا تُحمّل مع بدء البرنامج.الفائدة: الأرشيف مهما كبر لا يبطئ التشغيل الطبيعي.
💾 4) النسخ الاحتياطي والاستعادة
تذكير Backup شهري إلزامييظهر في الإشعارات كل شهر ويظل حتى إنشاء نسخة كاملة لذلك الشهر.الفائدة: منع مرور شهور بدون نسخة قابلة للاستعادة.
Full Backup مضغوط ومشفّريشمل البيانات والتاريخ والإعدادات، ويُحمى بحسابات المستخدمين وكلمات مرورهم.الفائدة: ملف أصغر وآمن إذا فُقدت الفلاشة أو نُسخ الملف.
نسخة ثانية على جهاز التدريبلا تُعتبر النسخة الموجودة على نفس الفلاشة Backup مستقلًا.الفائدة: حماية من تلف أو فقدان الفلاشة بالكامل.
Backup قبل Update / Archive كبير / Full Vacuumإنشاء نقطة رجوع قبل العمليات التي تحرك أو تغير بيانات كثيرة.الفائدة: Rollback واضح عند أي فشل.
Restore Testالصيانة الدورية تتحقق أن ملف النسخة قابل للقراءة وليس مجرد ملف موجود.الفائدة: اكتشاف نسخة تالفة قبل الاحتياج إليها.
🔄 5) قواعد التحديثات
Update ملف واحديوضع داخل مجلد البرنامج ويُشغّل فقط.الفائدة: الشخص المسؤول لا يحتاج معرفة بالبرمجة.
فحص الإصدار + Backup + Migration + تشغيلالتحديث يتأكد من النسخة الحالية، يعمل Backup، يطبّق تغييرات قاعدة البيانات ثم يشغّل الإصدار الجديد.الفائدة: تحديث منظم ويحافظ على البيانات القديمة.
Rollback عند الفشلإذا فشلت خطوة، تعود ملفات البرنامج والـDB إلى نقطة ما قبل التحديث.الفائدة: تحديث لا يوقف التشغيل.
Update Historyتسجيل الإصدار السابق والجديد والوقت ونجاح/فشل التحديث.الفائدة: معرفة ما حدث على كل نسخة ومتى.
🛡️ 6) الأمان وسلامة السجلات
Super Admin ثابتلا يمكن حذف حسابه، وله الصلاحيات الأعلى.الفائدة: وجود حساب إدارة نهائي دائم.
Custom Rolesكل مسمى له صفحات وأقسام وصلاحيات وFinancial Mode مستقل.الفائدة: كل مستخدم يرى فقط ما يحتاجه للعمل.
قفل الحذف بعد 3 شهورأي داتا مر على دخولها 3 شهور لا يحذفها إلا Super Admin.الفائدة: حماية التاريخ من الحذف العرضي.
Audit Logكل إجراء يسجل المستخدم والتاريخ والساعة، والماليات تُحجب حسب الصلاحية.الفائدة: تتبع المسؤولية عن أي تغيير.
تعديل مالي بعد إقفال الشهر باللون الأحمرالـSnapshot الأصلي لا يُمحى، ويظهر التعديل اللاحق كـPost-Close Adjustment.الفائدة: فرق واضح بين الرقم المعتمد وقت الإقفال وما تغير بعده.
Single Instance + إغلاق آمننسخة واحدة من التطبيق تكتب على الفلاشة، مع إنهاء الكتابة قبل نزعها.الفائدة: تقليل مخاطر تضارب الكتابة أو تلف الملفات.
🧰 7) الصيانة الدورية
PRAGMA optimize دوريصيانة خفيفة لتحسين قرارات الاستعلام.الفائدة: الحفاظ على سرعة البحث مع نمو البيانات.
Incremental Vacuum بعد الأرشفة الشهريةاسترجاع المساحة تدريجيًا بدون إعادة بناء القاعدة كاملة.الفائدة: صيانة أخف على الفلاشة.
Full VACUUM: فحص كل 6 شهور وليس تشغيلًا أعمىيُنفذ فقط إذا كان هناك حذف/أرشفة كبير أو مساحة حرة تستحق الاسترجاع، وبعد Backup.الفائدة: تجنب عملية ثقيلة بدون داعٍ.
Integrity Checkفحص سريع عند التشغيل وفحص أعمق بعد إغلاق غير طبيعي أو أثناء الصيانة.الفائدة: اكتشاف مشاكل قاعدة البيانات مبكرًا.
📤 8) التصدير والتقارير
Export Current Viewيصدر الفلاتر والفترة الظاهرة فقط.الفائدة: تقارير يومية سريعة.
Export All Dataيجمع Main DB وكل ملفات Archive على دفعات حتى لا يملأ الذاكرة.الفائدة: لا تضيع أي بيانات تاريخية بسبب الأرشفة.
كل Export محمي بكلمة مرورالتصدير يحتاج اعتمادًا جديدًا مستقلًا عن زر إظهار الماليات.الفائدة: منع إخراج البيانات من جهاز مفتوح بدون قصد.
💰 9) قواعد الماليات والخصوصية
Financial Privacy حسب المسمىلكل Role وضع مالي مستقل: ممنوع تمامًا، زر # لمدة 3 دقائق، أو زر # حتى إغلاق التطبيق.الفائدة: نفس البرنامج يخدم أدوارًا مختلفة بدون كشف الحسابات لمن لا يحتاجها.
Super Admin / مشرف التدريبوضع الماليات يُضبط من الصلاحيات؛ المشرف يمكنه إظهارها حتى إغلاق التطبيق، والمنسق افتراضيًا 3 دقائق.الفائدة: حماية من الاطلاع العابر مع بقاء العمل اليومي عمليًا.
حجب موحدعند الإخفاء تظهر كل القيم المالية كـ XXXXXX بطول ثابت، بما فيها Activity Log.الفائدة: لا يمكن استنتاج حجم المبلغ من عدد الخانات.
Export مالي مستقلأي تصدير يحتوي بيانات حساسة يطلب اعتماد المستخدم وكلمة المرور من جديد.الفائدة: فتح الماليات على الشاشة لا يعني السماح بخروج نسخة منها.
Snapshot مالي عند الالتحاقسعر الكورس والمحاضرات وقت الانضمام تحفظ تاريخيًا؛ الخصم قابل للتعديل مع Log.الفائدة: التعديلات المستقبلية لا تعيد كتابة التاريخ القديم.
الرصيد غير المستخدمأي مبلغ زائد عن تكلفة الكورس يذهب لرصيد المتدرب بدل تضخيم مدفوعات الكورس، ويمكن استخدامه أو رده لاحقًا.الفائدة: فصل إيراد الكورس عن أموال محفوظة للمتدرب.
👤 10) المستخدمون والصلاحيات
Super Admin دائممسمى ثابت لا يمكن حذفه، وباقي المسميات قابلة للإضافة والتعديل والحذف.الفائدة: نقطة إدارة نهائية لا تضيع بتعديل الصلاحيات.
Custom Roles من داخل البرنامجإنشاء أي مسمى وظيفي وتحديد الصفحات والأقسام وصلاحيات الإضافة/التعديل/الحذف/التصدير والماليات.الفائدة: لا يحتاج إنشاء دور جديد إلى تعديل الكود.
صلاحيات الأقساميمكن لمستخدم مثل مشرف قسم رؤية تخصصات محددة فقط بدون باقي الأقسام أو الماليات.الفائدة: تطبيق مبدأ أقل صلاحية لازمة.
استرداد كلمة المرورسؤال أمان وإجابة لكل مستخدم، وبعد الإجابة الصحيحة تُنشأ كلمة مرور جديدة ولا تُعرض القديمة.الفائدة: استعادة وصول بسيطة بدون كشف كلمة المرور السابقة.
🧩 11) قواعد الإدخال وتجربة الاستخدام القابلة للنقل
Searchable Drop-listsأي قائمة كبيرة تقبل الكتابة وتُظهر الاقتراحات، والقوائم الإدارية قابلة للإضافة والحذف.الفائدة: سرعة الإدخال وتقليل الأخطاء.
Popups ثابتةكل Popup له زر إغلاق ولا يغلق بالضغط خارج النافذة.الفائدة: عدم فقد إدخال طويل بالخطأ.
Sticky Headers / Scrollرؤوس الجداول وشريط التمرير المهم يظلان متاحين مع الجداول الطويلة.الفائدة: تشغيل مريح مع بيانات كثيرة.
12-hour Timeالوقت يعرض AM/PM، ويمكن إدخاله كنص مناسب بدل فرض 24 ساعة.الفائدة: توافق مع طريقة العمل الفعلية للمستخدمين.
WhatsApp Actionرقم الواتساب يظهر كزر يفتح المحادثة، بينما التصدير يحتفظ بالرقم كنص.الفائدة: واجهة نظيفة بدون فقد البيانات في Excel.
Undo + Trashالأخطاء اليومية قابلة للتراجع، والحذف التشغيلي يمر على السلة بدل الإزالة المباشرة.الفائدة: تقليل فقد البيانات بسبب الضغط الخطأ.
🔔 12) قواعد الإشعارات
تصنيف حسب النوعالإشعارات تظهر مجموعات واضحة حسب سببها.الفائدة: تقليل الزحام وسهولة الوصول لما يحتاج إجراء.
العادي: فتح أو أسبوعالإشعار العادي يختفي عند فتحه، أو تلقائيًا بعد أسبوع مع Countdown، ويعود فقط عند حدث جديد.الفائدة: مركز إشعارات نظيف وغير متراكم.
Backup: حسب عمر النسخةتذكير النسخة يظهر إذا لم توجد نسخة أو كان آخر Full Backup عمره 30 يومًا فأكثر، ويظل حتى إنشاء نسخة أحدث.الفائدة: معيار عملي ثابت لا يعتمد على بداية الشهر.
🔢 13) دورة الإصدارات والتحديثات التراكمية
Baseline كل 10 تحديثاتv1.1.0 هو Baseline؛ التحديثات v1.1.1 حتى v1.2.0 تراكمية داخل نفس الدورة.الفائدة: الشخص المسؤول يحتاج ملف التحديث الحالي فقط داخل الدورة.
التحديث يحتوي تغييرات دورتهكل إصدار داخل الدورة يشترط الـBaseline ويضم كل التغييرات من أول الدورة حتى الإصدار الحالي، ولا يعيد دورات أقدم.الفائدة: تقليل تعقيد تسلسل التحديثات.
ترقية الـBaselineبعد اعتماد v1.2.0 يصبح Baseline للدورة v1.2.1 → v1.3.0، وهكذا.الفائدة: دورات تحديث واضحة وقابلة للصيانة لسنوات.
الجهاز الأقدم من Baselineلا يثبت تحديث الدورة مباشرة؛ يمر أولًا على Baseline المطلوب.الفائدة: منع Migration ناقص أو Schema غير متوافق.
📊 14) قواعد التقارير والبيانات التاريخية
Dashboard بفترة مستقلةلوحة التحكم تدعم يومًا معينًا أو شهرًا أو سنة أو كل الوقت، ولا يُخلط الفلتر مع ترتيب القوائم.الفائدة: نفس المؤشرات تخدم المتابعة اليومية والتحليل الشهري والسنوي.
Multiple Filters + Sortالفلاتر المتعددة تعمل معًا، والترتيب خطوة مستقلة حسب الاسم أو الأحدث/الأقدم أو العمر أو الكلية أو غيرها.الفائدة: الوصول لمجموعة محددة بدون فقد طريقة ترتيبها.
Timestamp كاملأي حضور أو سداد أو تعديل أو تغيير حالة يسجل التاريخ والساعة مع المستخدم.الفائدة: Audit Trail قابل للمراجعة الدقيقة.
ملاحظات مرتبطة بالسجلأي كيان أو عملية مهمة تقبل ملاحظات بدل الاحتفاظ بمعلومات خارج النظام.الفائدة: سياق كامل للسجل عند الرجوع إليه لاحقًا.
Historical Snapshotتغيير إعداد كيان يطبق على البيانات اللاحقة، بينما السجلات السابقة تحتفظ بالقيم التي كانت سارية وقت إنشائها.الفائدة: منع إعادة كتابة التاريخ عند تغيير الأسعار أو تفاصيل الخدمة.
Post-Close Adjustmentبعد إقفال الفترة يمكن التصحيح مع سبب واضح، ويظهر التغيير بالأحمر في الـLog مع بقاء Snapshot المقفول.الفائدة: المرونة بدون فقد أثر الرقم المعتمد سابقًا.
🎨 15) قواعد الواجهة والهوية القابلة لإعادة الاستخدام
هوية محايدة عند الطلباسم التطبيق Training Unit فقط، بدون اسم مؤسسة أو دليل تبعية غير مطلوب.الفائدة: قابلية استخدام النظام في أكثر من سياق.
Section Header ثابتعنوان القسم داخل Box أصفر والنص موف مزرق غامق، بينما Specialty Tag بالعكس: موف غامق ونص أصفر.الفائدة: لغة بصرية ثابتة وسريعة الفهم.
المعلومة لا تضيع بسبب شكل العرضإذا ظهر الواتساب كأيقونة في الواجهة يظل الرقم الخام موجودًا في Excel؛ ونفس المبدأ لأي UI مختصر.الفائدة: فصل واجهة الاستخدام عن اكتمال البيانات.
الصفوف والأعمدة الطويلةFreeze للرؤوس المهمة، وأعمدة متساوية عند التكرار، وشريط Scroll ثابت إذا كانت القائمة عريضة.الفائدة: تقليل إجهاد التنقل في الشاشات التشغيلية الكبيرة.