تفاصيل العمل

متجر إلكتروني كامل في تطبيق واحد: API آمن بـ JWT ومعاه واجهة متجر جاهزة، وبيشتغل بأمر واحد (dotnet run). المشروع مركّز على قواعد العمل الحقيقية للمتاجر: المخزون، الطلبات، والصلاحيات.

المميزات الرئيسية:

تسجيل ودخول بـ ASP.NET Core Identity و JWT، مع دورين: Admin و Customer

كتالوج المنتجات: أقسام متداخلة (قسم رئيسي وأقسام فرعية) مع منع الحلقات الدائرية، وبحث وفلترة وترقيم صفحات

سلة مشتريات مرتبطة بكل عميل، مع التحقق من المخزون عند الإضافة والتعديل

إتمام الطلب (Checkout) داخل Transaction واحدة: يتأكد من المخزون، يحفظ سعر كل منتج وقت الشراء، يخصم الكمية، ويفضّي السلة

حالات الطلب بتتحكم فيها قواعد صارمة: pending → paid → shipped → delivered مع إمكانية الإلغاء، وإلغاء الطلب بيرجّع المنتجات للمخزون

حماية من إساءة الاستخدام: لو العميل لغى 3 طلبات في نفس اليوم، بيتمنع من الشراء 6 ساعات

حذف منطقي (Soft Delete) وسجل تدقيق (Audit) لكل البيانات: مين أنشأ، مين عدّل، ومين حذف

26 Endpoint موثقين بالكامل عن طريق Swagger

57 اختبار تكامل (Integration Tests) بـ xUnit بتغطي الصلاحيات وحالات الطلب والمخزون

التقنيات المستخدمة:

Backend: ASP.NET Core 6, C#, Entity Framework Core 6

Database: SQL Server

Frontend: HTML / CSS / JavaScript (ES Modules) بدون أي framework

Testing: xUnit, WebApplicationFactory, SQLite

Docs: Swagger / OpenAPI

الجودة المعمارية:

معمارية 3 طبقات (API ← BLL ← DAL) بدون ما طبقة تعتمد على اللي فوقها

Repository Pattern و Unit of Work لتنظيم التعامل مع قاعدة البيانات

قاعدة البيانات نفسها بتحمي البيانات: قيود على الأسعار والكميات (Check Constraints) و Indexes فريدة

ردود موحدة من الـ API (GeneralResponse<T>) بتسهّل على أي Frontend يتعامل معاه

بطاقة العمل

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