الدور والمسؤوليات
قيادة الـ Backend في فريق من مهندسَين: المعمارية الأولية ومعظم الكود، 60 من 63 متحكّم API، و364 نقطة نهاية HTTP عبر 6 أسطح جمهور، و74 كيان نطاق مربوطة 1:1 بـ 74 جدول PostgreSQL، و20 من 24 ترحيل EF Core، ومراجعة 57 من 61 طلب دمج.
الهوية والوصول والعزل: تسجيل برقم الهاتف فقط مع OTP، وJWT بمطالبات صلاحيات مقيّدة بمساحة العمل وتدوير رموز التحديث مع كشف إعادة الاستخدام، وحدّ الأجهزة لكل طالب، و6 سياسات مسمّاة لحدّ المعدل، ونموذج RBAC يبدأ من الصلاحية بـ 60 مفتاحًا و8 أدوار نظام على 286 إجراء في المتحكّمات، ومرشّح EF Core عام يُغلق عند الفشل على كل كيان مقيّد بمساحة عمل.
تدفّقات المال والامتحانات: دفعات أكواد الاشتراك وتفعيل محصّن من حالات التسابق في معاملة واحدة مع تجميد العمولة على كل عملية بيع، ودورة حياة التسويات (مسودة، معتمدة، مدفوعة) مع تعديلات بالإلحاق فقط وإيصالات، ومحاولات امتحان على ساعة الخادم مع الحفظ التلقائي والتصحيح الآلي ومهمة كنس للمحاولات منتهية الصلاحية (أقسام الامتحان وتزامن التصحيح بُنيا بالاشتراك مع زميله)، و23 نوعًا من أحداث الإشعارات تُفرَّغ إلى FCM عبر مهام خلفية.
محوّلات المزوّدين والمهام والاختبارات: محوّلات Cloudflare Stream وS3 وFCM HTTP v1 والرسائل النصية مع بديل تطويري خلف كل منفذ (وسم PDF بالعلامة المائية من زميله)، ومنصة Hangfire بـ 17 مهمة مع سجل لتشغيلات المهام ومعالجة dead-letter، وحِزمة اختبارات التكامل على PostgreSQL، ومعظم دوال اختبار xUnit البالغ عددها 1,520، وCI وملف Dockerfile.
خارج الـ Backend: حزمة التصميم التأسيسية التي بنى الفريق عليها (SRS والمعمارية والاتفاقيات ودليل التشغيل)؛ وهيكل لوحة تحكم React 19 وطبقة API مُنمَّطة (37 كائن خدمة و270 دالة) وتوجيه يبدأ من الصلاحية ولوحة إدارة المنصة، مع النظام البصري وجداول البيانات ومنشئ التقييمات من زميله؛ وإشعارات الدفع والإعلانات وإصلاحات مشغّل الفيديو في تطبيق Flutter الذي يقوده زميله.