انتهيت مؤخرًا من تطوير المرحلة الأساسية للواجهة الخلفية لمشروعي في التجارة الإلكترونية: SnapMarket!
قمت ببناء واجهة برمجية RESTful متكاملة باستخدام تقنيات .NET، مصممة بهيكلية طبقية منظمة تعتمد على نمط Repository + Service لضمان القابلية للتوسع وسهولة الصيانة وكفاءة الأداء.
أبرز مميزات SnapMarket API:
مصادقة JWT مع دعم لتوكن التحديث (Refresh Token).
تتبع التعديلات باستخدام جدول تدقيق (Audit Table).
الكيانات الأساسية تشمل: المستخدم، الطلبات، تفاصيل الطلب، السلة، عناصر السلة، المنتجات، الألوان، صور المنتجات، وتوكنات التحديث.
تنظيم وحدات المشروع (Controllers - Services - Repositories - Interfaces - DTOs) بشكل منفصل لتحقيق مبدأ فصل المسؤوليات (Separation of Concerns).
العلاقات بين الكيانات:
المستخدم ←→ الدور (علاقة متعدد لمتعدد)
المستخدم ← السلة (واحد إلى واحد)
السلة ← عناصر السلة (واحد إلى متعدد)
المنتج ←→ اللون (علاقة متعدد لمتعدد)
المنتج ← الصور (واحد إلى متعدد)
المستخدم ← الطلبات (واحد إلى متعدد)
الطلب ← تفاصيل الطلب (واحد إلى متعدد)
️ التقنيات المستخدمة:
ASP.NET Core
Identity Core
Entity Framework + LINQ
SQL Server
JWT Bearer Authentication
? أهم ما تعلمته خلال المشروع:
تنفيذ مصادقة آمنة باستخدام JWT وRefresh Token.
استخدام LINQ لكتابة استعلامات معقدة بكفاءة.
كيفية تصميم واجهة برمجية واقعية لتطبيق تجارة إلكترونية وفقًا لأفضل الممارسات.