. نوع العمل (Project Type):
تطبيق ويب متكامل (Full-Stack Web Application) تم تطويره باستخدام إطار عمل ASP.NET Core MVC. يهدف النظام إلى تسهيل عملية حجز الغرف الفندقية للمستخدمين، مع توفير لوحة تحكم لإدارة الفنادق، الغرف، والحجوزات.
2. أهم الميزات (Key Features):
بناءً على ملفات Controllers و Models و Services الظاهرة، يتمتع النظام بالميزات التالية:
إدارة المستخدمين (User Management):
نظام تسجيل ودخول كامل (AccountController, LoginViewModel, RegisterViewModel).
إدارة الملف الشخصي (ProfileViewModel).
تصفح وحجز الفنادق:
عرض الفنادق والغرف المتاحة (HotelsController, RoomsController).
إدارة الحجوزات (TblBookings, BookingServices).
تصفية البحث والخدمات الإضافية (LkpAmenity).
التفاعل والمشاركة:
نظام تقييم ومراجعات للفنادق (TblReview).
قائمة التمنيات/المفضلة (WishListController, TblWishList).
المدفوعات والإشعارات:
معالجة عمليات الدفع (PaymentController, TblPayment).
نظام إشعارات للمستخدمين (TblNotification).
إدارة المحتوى والوسائط:
رفع وإدارة صور الفنادق والغرف (FileSystemImageStorage, TblHotelImage).
3. طريقة التنفيذ والتقنيات (Implementation & Tech Stack):
يعتمد المشروع على معمارية الطبقات (N-Tier / Layered Architecture) لضمان نظافة الكود وسهولة الصيانة:
Backend:
اللغة: C#
الإطار: ASP.NET Core MVC (.NET 6/7/8).
قواعد البيانات: SQL Server مع استخدام Entity Framework Core كـ ORM (يظهر ذلك من وجود مجلد Migrations و efpt.config.json).
Architecture Patterns (أنماط التصميم):
Service Pattern: استخدام طبقة خدمات (Services folder) مع فصل الـ Interfaces (IBookingServices, IHotelService) عن الـ Implementation لتطبيق مبدأ حقن التبعية (Dependency Injection).
Separation of Concerns: فصل نماذج قاعدة البيانات (Models) عن نماذج العرض (ViewModels) وعن نماذج نقل البيانات (Dtos)، مما يعزز الأمان والأداء.
Frontend:
Razor Views (.cshtml) لواجهة المستخدم.
تنسيق الواجهات باستخدام CSS/Bootstrap (داخل wwwroot).