# حالة التنفيذ والتسليم

## المراحل المنفذة في المصدر

| المرحلة | ما يتضمنه المصدر |
|---|---|
| 1. التحليل والتصميم | بنية التطبيق، ERD، مصفوفة الصلاحيات، آلة الحالات، والقرارات الموثقة. |
| 2. الهوية والعزل | تسجيل الدخول وإعادة تعيين كلمة المرور و2FA لـSuper Admin، أدوار وسياسات ونطاق `tenant_id`. |
| 3. إدارة المنصة | العملاء وحدودهم، الموظفون، الأجهزة وأسرار Webhook، المرسلون وصلاحيات إتاحتها. |
| 4. استقبال Webhook | قالب `SMSFW_V1` وSlack-style `text`، تشفير الحمولة، تحديد المعدل، إيصال Queue وdeduplication. |
| 5. صندوق الرسائل | واجهة عربية/إنجليزية متجاوبة، بحث وفلاتر وترقيم صفحات، وتحديث Livewire كل 7 ثوانٍ أثناء ظهور الصفحة. |
| 6. المعالجة | حجز ذري، انتقالات حالة، سجل أحداث، ملاحظات نصية وصوتية خاصة، وإعادة تعيين مع سبب. |
| 7. الأقسام | حدود وأعضاء ومسؤولون وإحالات واستلام وتعيين وإغلاق موثّق. |
| 8. Telegram والخصوصية | سر مركزي مشفر، إعداد عميل مستقل، Queue وإعادة محاولة وidempotency، إخفاء Regex محدود وحفظ الأصل مشفرًا. |
| 9. البيانات والنسخ | CSV/XLSX/PDF/Markdown محمية الصلاحيات، ونسخ SQL مضغوطة ومشفرة مع تحقق checksum واستعادة يدوية. |
| 10. الواجهة واللوحات | لوحات حسب الدور، ترجمات RTL/LTR، وضع ليلي، وواجهات الهاتف والكمبيوتر. |
| 11. التحقق الآلي | اختبارات PHPUnit للعزل والحجز والحالات وتحليل Unicode وإخفاء البيانات، مع إعداد SQLite. |
| 12. التسليم | أدلة الاستضافة المشتركة وVPS وWebhook والأمان والاستعادة، فحص منصة، وسكربت Release يتضمن `vendor` وأصول البناء. |

## التحقق قبل النشر

المصدر وسكربت البناء والاختبارات موجودة، لكن لم يمكن تشغيل `composer install`, أو Migrations، أو PHPUnit، أو بناء Vite في بيئة التحرير هذه لعدم توفر PHP وComposer. لذلك لا تتضمن الحزمة `vendor/` أو `public/build/`، ولا ينبغي اعتبار هذا التسليم اجتيازًا لاختبارات القبول على خادم فعلي. ابنِ Release من بيئة PHP 8.3+ وفق README، ثم شغّل الاختبارات على SQLite وMySQL/MariaDB قبل النشر.

لا يشغّل الإصدار الأساسي WebSockets؛ يستخدم polling كل 7 ثوانٍ ما دامت صفحة Livewire ظاهرة. كما أن اختبارات القفل والتصدير والحدود وTelegram والاستعادة تحتاج توسعة وتشغيلًا على قاعدة بيانات اختبار قبل اعتماد الإنتاج.

## عناصر اختبار قبول تشغيلية

1. إعداد قاعدة اختبار، تشغيل `php artisan migrate:fresh` ثم `composer test`.
2. بناء الحزمة بواسطة `bash scripts/build-release.sh` وفحص ملفات Release على استضافة اختبار.
3. اختبار Webhook بطلب حقيقي من SMS Forwarder مع ID ثابت وإعادة المحاولة.
4. تجربة دخول متزامن لموظفين، صوت، إحالة، صلاحيات التصدير، Telegram، ونسخ/استعادة إلى قاعدة منفصلة.
5. مراجعة بصريّة لملفات PDF العربية واختبار Cron والطابور تحت حدود الاستضافة المشتركة.
