feat(phase-1): complete backend core, savings ledger, multi-channel auth, and dynamic QR verification

This commit is contained in:
Hamza-Ayed
2026-09-18 17:54:37 +03:00
parent 4fe451ab5e
commit e044123c9b
8 changed files with 295 additions and 30 deletions
+18 -16
View File
@@ -21,33 +21,35 @@
### 1.1 بنية قاعدة البيانات (MySQL Database)
- [x] تصميم مخطط قاعدة البيانات المعتمد (`docs/04_database_schema.sql`).
- [x] إضافة جدول سجل وفورات المشترك (`savings_ledger`) لربط الخصومات بعداد التوفير التراكمي.
- [x] إضافة جدول حركات المصادقة والتوجيه (`otp_dispatches`) لمتابعة مسار الرسائل والمكالمات.
- [x] إدخال البيانات الأولية (Seeders): المحافظات العراقية، أنواع العضويات، ومجموعة شركاء تجريبية (مستشفى الكفيل، فندق بابل، معهد التطوير).
- [ ] استيراد وإنشاء الجداول على قاعدة بيانات السيرفر الحي (`urukprize_db`).
- [ ] إضافة جدول سجل وفورات المشترك (`savings_ledger`) لربط الخصومات بعداد التوفير التراكمي.
- [ ] إضافة جدول حركات المصادقة والتوجيه (`otp_dispatches`) لمتابعة مسار الرسائل والمكالمات.
- [ ] إدخال البيانات الأولية (Seeders): المحافظات العراقية، أنواع العضويات، ومجموعة شركاء تجريبية (مستشفى الكفيل، فندق بابل، معهد التطوير).
### 1.2 بيئة العمل وخدمات النواة (Core Architecture)
- [x] إعداد موجه التطبيق المباشر (`index.php`) لدعم الواجهات السحابية والملفات الثابتة.
- [x] معمارية الفئات المتوافقة مع معايير PSR-4 بدون اعتمادات خارجية ثقيلة.
- [ ] إعداد ملف البيئة الإنتاجي (`backend/.env`) على السيرفر (بيانات الاتصال بقاعدة البيانات، مفاتيح JWT التشفيرية، وأسرار البوابات).
- [ ] تشغيل واختبار نقطة فحص الحالة الصحية للنظام (`GET /api/v1/health`).
- [x] إعداد ملف البيئة النموذجي الكامل (`backend/.env.example`) مع مفاتيح JWT و Telegram و OTP.
- [x] تشغيل واختبار نقطة فحص الحالة الصحية للنظام (`GET /api/v1/health`).
- [ ] إعداد ملف البيئة الإنتاجي (`backend/.env`) على السيرفر الحي.
### 1.3 محرك المصادقة وإدارة الجلسات (Authentication & Security)
- [ ] مسار تسجيل المشترك الجديد برقم الهاتف العراقي (`POST /api/v1/auth/register`).
- [ ] مسار طلب رمز التحقق واختيار قناة التوجيه الذكية (`POST /api/v1/auth/request-otp`).
- [ ] مسار تأكيد الرمز وتسجيل الدخول عبر توكن JWT الموثق بالبصمة الرقمية (`POST /api/v1/auth/verify-otp`).
- [ ] برمجة وسيط التحقق الأمني وبصمة العتاد (`AuthMiddleware` & `HardwareFingerprint`).
- [x] مسار تسجيل المشترك الجديد برقم الهاتف العراقي وبصمة الجهاز.
- [x] مسار طلب رمز التحقق واختيار قناة التوجيه الذكية (`POST /api/v1/auth/request-otp`) مع دعم الرنين الصامت، التيليغرام، الواتساب كابتشا، و SMS.
- [x] مسار تأكيد الرمز وتسجيل الدخول عبر توكن JWT الموثق بالبصمة الرقمية (`POST /api/v1/auth/verify-otp`).
- [x] برمجة وسيط التحقق الأمني وبصمة العتاد ومكافحة التلاعب (`AuthMiddleware` & `SecurityHeaderMiddleware`).
### 1.4 محرك الاشتراكات وإصدار العضويات (Subscriptions & Cards)
- [ ] مسار إنشاء طلب عضوية جديدة وتوليد رقم العضوية المعتمد (`URUK-2026-XXXXX`).
- [ ] مسار جلب تفاصيل البطاقة الرقمية وحالة العضوية الحالية (`GET /api/v1/member/card`).
- [ ] محرك توليد وتشفير الرمز الديناميكي (`Dynamic QR Code Generator Service`) المتغير كل 30 ثانية لمنع سرقة الشاشة.
- [ ] محرك احتساب وتتبع وفورات المشترك (`GET /api/v1/member/savings-summary`).
- [x] مسار إنشاء طلب عضوية جديدة وتوليد رقم العضوية المعتمد (`URUK-2026-XXXXX`).
- [x] مسار جلب تفاصيل البطاقة الرقمية وحالة العضوية الحالية (`GET /api/v1/subscription/my-card`).
- [x] محرك توليد وتشفير الرمز الديناميكي (`Dynamic QR Code Generator Service`) المتغير كل 90 ثانية لمنع سرقة الشاشة.
- [x] محرك احتساب وتتبع وفورات المشترك ونظام التلعيب والشارات (`GET /api/v1/subscription/savings-summary`).
- [x] محرك فحص البطاقة واعتماد الخصم في الاستقبال وتوثيق الوفر (`POST /api/v1/qr/verify-token`).
### 1.5 محرك معالجة المدفوعات (Payment Processing APIs)
- [ ] مسار رفع إشعار التحويل البنكي اليدوي من المشترك (`POST /api/v1/payment/submit-receipt`).
- [ ] مسار استقبال بيانات الدفع الآلي واستقراء الإشعارات من هواتف البوابة (`POST /api/v1/gateway/p2p-sync`).
- [ ] منطق المطابقة اللحظية: مطابقة المبلغ والمعرف وتفعيل الاشتراك فوراً إلى `ACTIVE`.
- [x] مسار رفع إشعار التحويل البنكي اليدوي من المشترك وتفعيل الانتظار (`POST /api/v1/subscription/submit`).
- [x] مسار استقبال بيانات الدفع الآلي واستقراء الإشعارات من هواتف البوابة (`POST /api/v1/payments/ingest-notification`).
- [x] منطق المطابقة اللحظية: مطابقة المبلغ والمعرف وتفعيل الاشتراك فوراً إلى `ACTIVE` بدون عمولة.
---