تفاصيل العمل

الهيكل المعماري (Clean Architecture)

طبقة العرض (Presentation Layer): تحتوي على الـControllers وواجهات Razor. مسؤولة عن التفاعل مع المستخدم.

طبقة المنطق (Business Logic Layer): تتضمن الخدمات التي تنفذ منطق التطبيق مثل إدارة المنتجات وتسجيل الدخول وتسجيل التعديلات.

طبقة الوصول إلى البيانات (Data Access Layer): تحتوي على الـRepositories للتعامل مع قاعدة البيانات باستخدام EF Core.

قاعدة البيانات (Database Layer): تتضمن الجداول الخاصة بالمنتجات، التصنيفات، المستخدمين، والسجلات.

الخصائص الأساسية

إدارة المنتجات (Admins فقط)

إضافة منتج: الاسم، الوصف، السعر، تاريخ البدء، المدة، الصورة.

تعديل المنتج.

حذف المنتج.

عرض كل المنتجات: يمكن للمسؤول رؤية جميع المنتجات، سواء كانت نشطة أو غير نشطة.

إدارة المستخدمين

تسجيل دخول وتسجيل مستخدمين.

التحكم في الصلاحيات بناءً على الدور (Admin أو مستخدم عادي).

عرض المنتجات

عرض المنتجات النشطة فقط للمستخدمين العاديين (يتم حسابها بناءً على تاريخ البدء والمدة).

فلترة حسب التصنيف.

التحقق من الصورة

الصورة يجب أن تكون بصيغة JPG أو JPEG أو PNG.

الحجم لا يتعدى 1 ميجابايت.

التسجيل واللوجات

تسجيل الأخطاء باستخدام ILogger.

تسجيل التعديلات على المنتجات (من عدّل ومتى).

الاختبارات (Unit Testing)

استخدام xUnit لكتابة اختبارات وحدات للتحقق من منطق التطبيق (مثل الفلترة، إضافة وتعديل المنتجات، إلخ).

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات