343 lines
10 KiB
Plaintext
343 lines
10 KiB
Plaintext
|
|
أريد إضافة Module جديد داخل النظام الحالي بدون تخريب أي وظائف موجودة، وبدون إعادة بناء النظام من الصفر.
|
||
|
|
|
||
|
|
اسم التطبيق:
|
||
|
|
إدارة الاجتماعات التنفيذية
|
||
|
|
Executive Meetings Management
|
||
|
|
|
||
|
|
مهم جدًا:
|
||
|
|
- لا تغيّر النظام الحالي أو الصلاحيات الحالية إلا بإضافة ما يلزم لهذا التطبيق.
|
||
|
|
- لا تحذف أي صفحات أو جداول أو مكونات موجودة.
|
||
|
|
- نفّذ التطبيق كـ Module مستقل داخل النظام.
|
||
|
|
- استخدم الصورة المرفقة كمرجع أساسي لتصميم جدول الاجتماعات اليومي.
|
||
|
|
- المطلوب تصميم iPad First ثم Responsive للجوال والمتصفح.
|
||
|
|
- الواجهة عربية RTL مع دعم English لاحقًا.
|
||
|
|
|
||
|
|
فكرة التطبيق:
|
||
|
|
النظام يدير جدول اجتماعات الرئيس التنفيذي يوميًا بشكل حي بدل PDF ثابت وتعديلات واتساب.
|
||
|
|
|
||
|
|
مسار العمل:
|
||
|
|
الرئيس التنفيذي
|
||
|
|
↓
|
||
|
|
مدير المكتب التنفيذي
|
||
|
|
↓
|
||
|
|
إدارة التنسيق والتوثيق
|
||
|
|
↓
|
||
|
|
تحديث الجدول
|
||
|
|
↓
|
||
|
|
الرئيس يشاهد التحديث من الآيباد
|
||
|
|
|
||
|
|
الأدوار:
|
||
|
|
1. الرئيس التنفيذي:
|
||
|
|
- يشاهد جدول اليوم.
|
||
|
|
- يشاهد الاجتماع القادم.
|
||
|
|
- يشاهد الوقت المتبقي.
|
||
|
|
- يشاهد الحضور والمكان والرابط والملاحظات والمرفقات والحالة.
|
||
|
|
- لا يعدل مباشرة.
|
||
|
|
- يستطيع فقط إرسال طلب:
|
||
|
|
- طلب تعديل
|
||
|
|
- طلب إلغاء
|
||
|
|
- طلب تأجيل
|
||
|
|
- إضافة ملاحظة
|
||
|
|
- طلب إضافة حضور
|
||
|
|
- طلب حذف حضور
|
||
|
|
|
||
|
|
2. مدير المكتب التنفيذي:
|
||
|
|
- يستقبل طلبات الرئيس أولًا.
|
||
|
|
- يراجع الطلب.
|
||
|
|
- يستطيع:
|
||
|
|
- اعتماد
|
||
|
|
- رفض
|
||
|
|
- تعديل التوجيه
|
||
|
|
- تحويل الطلب لنوع آخر
|
||
|
|
- إرسال الطلب لإدارة التنسيق
|
||
|
|
- تعديل الاجتماع عند الحاجة
|
||
|
|
|
||
|
|
3. إدارة التنسيق والتوثيق:
|
||
|
|
- تنفذ التوجيهات.
|
||
|
|
- تعدل وقت الاجتماع.
|
||
|
|
- تعدل الحضور.
|
||
|
|
- تعدل القاعة أو رابط الاجتماع.
|
||
|
|
- ترفع المرفقات.
|
||
|
|
- توثق التعديلات.
|
||
|
|
- تحدث الحالة.
|
||
|
|
- تصدر PDF عند الحاجة.
|
||
|
|
|
||
|
|
4. رئيس التنسيق:
|
||
|
|
- يعتمد النشر اليومي للجدول.
|
||
|
|
|
||
|
|
5. مشاهد:
|
||
|
|
- عرض فقط.
|
||
|
|
|
||
|
|
6. مدير النظام:
|
||
|
|
- إدارة المستخدمين والصلاحيات.
|
||
|
|
|
||
|
|
أضف في القائمة الجانبية Module باسم:
|
||
|
|
Executive Meetings
|
||
|
|
|
||
|
|
ويحتوي على الصفحات التالية:
|
||
|
|
- جدول الاجتماعات
|
||
|
|
- إدارة الاجتماعات
|
||
|
|
- طلبات التعديل
|
||
|
|
- موافقات مدير المكتب
|
||
|
|
- مهام فريق التنسيق
|
||
|
|
- التنبيهات
|
||
|
|
- سجل التعديلات
|
||
|
|
- PDF Export
|
||
|
|
- Font Settings
|
||
|
|
|
||
|
|
الواجهة الرئيسية:
|
||
|
|
اسم الصفحة:
|
||
|
|
جدول الاجتماعات اليومية
|
||
|
|
|
||
|
|
Header:
|
||
|
|
في أعلى الصفحة من اليسار:
|
||
|
|
- شعار الجهة الرسمي Logo
|
||
|
|
- بجانبه:
|
||
|
|
إدارة الاجتماعات التنفيذية
|
||
|
|
Executive Meetings Management
|
||
|
|
|
||
|
|
في أعلى الصفحة من اليمين:
|
||
|
|
- زر تصدير PDF
|
||
|
|
- اختيار نوع الخط
|
||
|
|
- حجم الخط: 12 / 14 / 16 / 18
|
||
|
|
- سماكة الخط: Regular / Medium / Bold
|
||
|
|
- تغيير نمط العرض
|
||
|
|
- اللغة عربي / English
|
||
|
|
- الوضع الليلي اختياري
|
||
|
|
|
||
|
|
الجدول الرئيسي:
|
||
|
|
يجب أن يكون بنفس أسلوب الصورة المرفقة رسمي وواضح.
|
||
|
|
|
||
|
|
الأعمدة فقط 4:
|
||
|
|
| # | اسم الاجتماع | الحضور | الوقت |
|
||
|
|
|
||
|
|
مهم:
|
||
|
|
- العمود # صغير.
|
||
|
|
- عمود اسم الاجتماع متوسط.
|
||
|
|
- عمود الحضور هو الأكبر.
|
||
|
|
- عمود الوقت واضح.
|
||
|
|
- رأس الجدول باللون الأزرق الداكن.
|
||
|
|
- حدود الجدول رسمية وواضحة.
|
||
|
|
- الخط واضح ومناسب للطباعة والآيباد.
|
||
|
|
- أضف خيار رفع Logo لاحقًا واستخدامه في رأس الصفحة و PDF.
|
||
|
|
|
||
|
|
تفاصيل الأعمدة:
|
||
|
|
|
||
|
|
1. عمود #:
|
||
|
|
يعرض رقم الاجتماع اليومي:
|
||
|
|
1
|
||
|
|
2
|
||
|
|
3
|
||
|
|
4
|
||
|
|
|
||
|
|
2. عمود اسم الاجتماع:
|
||
|
|
يعرض اسم الاجتماع الرسمي.
|
||
|
|
أمثلة:
|
||
|
|
- اجتماع الإدارة
|
||
|
|
- اجتماع تحضيري
|
||
|
|
- اجتماع اعتماد البرامج
|
||
|
|
- اتصال مرئي عبر Webex
|
||
|
|
|
||
|
|
إذا كان الاجتماع مهم أو ملغي أو يحتاج تنبيه، يمكن تمييزه بلون رسمي بدون مبالغة.
|
||
|
|
|
||
|
|
3. عمود الحضور:
|
||
|
|
هذا أهم عمود.
|
||
|
|
|
||
|
|
طريقة العرض المطلوبة:
|
||
|
|
الحضور يكون:
|
||
|
|
- مرتب
|
||
|
|
- مرقم
|
||
|
|
- موزع أفقيًا داخل الخانة
|
||
|
|
- ليس قائمة عمودية طويلة
|
||
|
|
|
||
|
|
مثال صحيح:
|
||
|
|
1- أحمد 2- محمد 3- خالد
|
||
|
|
4- عبدالله 5- فهد
|
||
|
|
|
||
|
|
مثال خاطئ:
|
||
|
|
1- أحمد
|
||
|
|
2- محمد
|
||
|
|
3- خالد
|
||
|
|
4- عبدالله
|
||
|
|
5- فهد
|
||
|
|
|
||
|
|
نفّذ هذا تقنيًا باستخدام:
|
||
|
|
CSS Grid أو Flex Wrap
|
||
|
|
|
||
|
|
بحيث تتوزع الأسماء تلقائيًا داخل الخانة.
|
||
|
|
|
||
|
|
إذا كان الاجتماع يحتوي حضور عن بعد:
|
||
|
|
Webex / Teams / Zoom
|
||
|
|
|
||
|
|
قسّم الحضور داخل نفس الخانة إلى أقسام:
|
||
|
|
|
||
|
|
الحضور عبر الاتصال المرئي:
|
||
|
|
1- أحمد 2- محمد 3- خالد
|
||
|
|
|
||
|
|
الحضور الداخلي:
|
||
|
|
1- عبدالله 2- فهد 3- سالم
|
||
|
|
|
||
|
|
يجب أن يظهر العنوان الفرعي داخل الخانة بلون أزرق رسمي وبخط واضح كما في الصورة المرفقة.
|
||
|
|
|
||
|
|
4. عمود الوقت:
|
||
|
|
يعرض البداية والنهاية بشكل واضح ويفضل رأسيًا:
|
||
|
|
10:00
|
||
|
|
10:30
|
||
|
|
|
||
|
|
أو:
|
||
|
|
10:00 AM
|
||
|
|
10:30 AM
|
||
|
|
|
||
|
|
حالات الاجتماع:
|
||
|
|
أضف status لكل اجتماع:
|
||
|
|
- scheduled = مجدول
|
||
|
|
- confirmed = مؤكد
|
||
|
|
- needs_confirmation = يحتاج تأكيد
|
||
|
|
- modified = معدل
|
||
|
|
- postponed = مؤجل
|
||
|
|
- cancelled = ملغي
|
||
|
|
- completed = مكتمل
|
||
|
|
|
||
|
|
طلبات التعديل:
|
||
|
|
كل طلب تعديل له دورة حياة:
|
||
|
|
- new = جديد
|
||
|
|
- under_office_review = قيد مراجعة مدير المكتب
|
||
|
|
- approved = معتمد
|
||
|
|
- sent_to_coordination = مرسل للتنسيق
|
||
|
|
- in_progress = قيد التنفيذ
|
||
|
|
- completed = تم التنفيذ
|
||
|
|
- rejected = مرفوض
|
||
|
|
- closed = مغلق
|
||
|
|
|
||
|
|
أنواع طلبات الرئيس:
|
||
|
|
- تعديل وقت
|
||
|
|
- إلغاء
|
||
|
|
- تأجيل
|
||
|
|
- إضافة ملاحظة
|
||
|
|
- إضافة حضور
|
||
|
|
- حذف حضور
|
||
|
|
- تعديل مكان
|
||
|
|
- تعديل رابط اجتماع
|
||
|
|
|
||
|
|
التنبيهات:
|
||
|
|
أضف نظام تنبيهات قابل للإعداد من مدير المكتب:
|
||
|
|
- قبل الاجتماع بـ 15 دقيقة
|
||
|
|
- قبل الاجتماع بـ 5 دقائق
|
||
|
|
- عند طلب تعديل من الرئيس
|
||
|
|
- عند اعتماد مدير المكتب
|
||
|
|
- عند تنفيذ التعديل
|
||
|
|
- عند تغيير وقت الاجتماع
|
||
|
|
- عند إلغاء الاجتماع
|
||
|
|
|
||
|
|
Font Settings:
|
||
|
|
أضف صفحة إعدادات الخط داخل التطبيق:
|
||
|
|
- اختيار نوع الخط
|
||
|
|
- دعم رفع خط مخصص لاحقًا
|
||
|
|
- حجم الخط 12 / 14 / 16 / 18
|
||
|
|
- السماكة Regular / Medium / Bold
|
||
|
|
- محاذاة النص
|
||
|
|
- حفظ الإعدادات وتطبيقها على الجدول و PDF
|
||
|
|
|
||
|
|
PDF:
|
||
|
|
رغم أن الهدف تقليل الاعتماد على PDF، أريد:
|
||
|
|
- Export PDF
|
||
|
|
- Download PDF
|
||
|
|
- Send PDF placeholder فقط إذا لا يوجد نظام إرسال
|
||
|
|
- Archive PDF by date
|
||
|
|
- PDF يستخدم نفس تصميم الجدول
|
||
|
|
- PDF يحتوي Logo Header
|
||
|
|
- PDF يدعم العربية RTL
|
||
|
|
|
||
|
|
Database:
|
||
|
|
أضف الجداول أو الموديلات اللازمة بدون كسر الموجود:
|
||
|
|
- executive_meetings
|
||
|
|
- executive_meeting_attendees
|
||
|
|
- executive_meeting_requests
|
||
|
|
- executive_meeting_tasks
|
||
|
|
- executive_meeting_notifications
|
||
|
|
- executive_meeting_audit_logs
|
||
|
|
- executive_meeting_pdf_archives
|
||
|
|
- executive_meeting_font_settings
|
||
|
|
|
||
|
|
البيانات المطلوبة للاجتماع:
|
||
|
|
- id
|
||
|
|
- dailyNumber
|
||
|
|
- titleAr
|
||
|
|
- titleEn
|
||
|
|
- date
|
||
|
|
- startTime
|
||
|
|
- endTime
|
||
|
|
- location
|
||
|
|
- meetingUrl
|
||
|
|
- platform: none/webex/teams/zoom/other
|
||
|
|
- status
|
||
|
|
- notes
|
||
|
|
- attachments
|
||
|
|
- createdBy
|
||
|
|
- updatedBy
|
||
|
|
- timestamps
|
||
|
|
|
||
|
|
الحضور:
|
||
|
|
- meetingId
|
||
|
|
- name
|
||
|
|
- title optional
|
||
|
|
- attendanceType: internal / virtual / external
|
||
|
|
- sortOrder
|
||
|
|
|
||
|
|
طلبات التعديل:
|
||
|
|
- meetingId
|
||
|
|
- requestedBy
|
||
|
|
- requestType
|
||
|
|
- requestDetails
|
||
|
|
- status
|
||
|
|
- reviewedBy
|
||
|
|
- reviewDecision
|
||
|
|
- reviewNotes
|
||
|
|
- assignedTo
|
||
|
|
- timestamps
|
||
|
|
|
||
|
|
المهام:
|
||
|
|
- requestId
|
||
|
|
- assignedTo
|
||
|
|
- taskType
|
||
|
|
- status
|
||
|
|
- dueAt
|
||
|
|
- completedAt
|
||
|
|
- notes
|
||
|
|
|
||
|
|
Audit Log:
|
||
|
|
أي تعديل على اجتماع أو طلب يجب تسجيله:
|
||
|
|
- action
|
||
|
|
- entityType
|
||
|
|
- entityId
|
||
|
|
- oldValue
|
||
|
|
- newValue
|
||
|
|
- performedBy
|
||
|
|
- performedAt
|
||
|
|
|
||
|
|
متطلبات الواجهة:
|
||
|
|
- تصميم رسمي جدًا.
|
||
|
|
- مناسب للآيباد أولًا.
|
||
|
|
- Responsive للجوال والمتصفح.
|
||
|
|
- دعم RTL ممتاز.
|
||
|
|
- لا تستخدم تصميم كروت للجدول الرئيسي؛ الجدول الرسمي هو الأساس.
|
||
|
|
- استخدم الصورة المرفقة كمرجع للشكل النهائي.
|
||
|
|
- لا تجعل الحضور عموديًا إلا إذا ضاق العرض جدًا في الجوال.
|
||
|
|
|
||
|
|
المطلوب في التنفيذ الأول:
|
||
|
|
1. إنشاء Module Executive Meetings في القائمة.
|
||
|
|
2. إنشاء صفحة جدول الاجتماعات اليومية بنفس تصميم الصورة.
|
||
|
|
3. إضافة بيانات تجريبية مشابهة للصورة.
|
||
|
|
4. تنفيذ عرض الحضور الأفقي باستخدام flex-wrap أو grid.
|
||
|
|
5. إضافة Header فيه Logo + اسم التطبيق.
|
||
|
|
6. إضافة أزرار PDF و Font Settings.
|
||
|
|
7. إنشاء صفحات Placeholder لباقي الأقسام.
|
||
|
|
8. تجهيز قاعدة البيانات والـ API الأساسية.
|
||
|
|
9. عدم كسر أي شيء موجود في النظام الحالي.
|
||
|
|
|
||
|
|
بعد التنفيذ اشرح لي:
|
||
|
|
- الملفات التي تم تعديلها.
|
||
|
|
- الملفات التي تم إنشاؤها.
|
||
|
|
- الجداول التي أضيفت.
|
||
|
|
- كيف أختبر الصفحة.
|
||
|
|
- ما الذي لم يتم تنفيذه بعد.
|