تفاصيل العمل

واجهة برمجة التطبيقات Talabat E-Commerce API

وصف المشروع

واجهة برمجة التطبيقات Talabat E-Commerce API هي نظام خلفي متكامل وقابل للتطوير لدعم منصات التجارة الإلكترونية. تم تصميمها لتسهيل إدارة الحسابات، المنتجات، الطلبات، المدفوعات، وغيرها من العمليات. تعتمد الواجهة على ASP.NET Core 6 وتستخدم مبادئ تصميم حديثة لضمان الأداء العالي والقابلية للتوسع.

أهم المزايا

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

تسجيل مستخدمين جدد وتسجيل الدخول باستخدام JWT (JSON Web Token).

التحكم في الوصول بناءً على الأدوار (Role-Based Access Control).

إدارة المنتجات:

إنشاء المنتجات وإدارة خصائصها (الأسماء، الأوصاف، الأسعار، الصور).

دعم وظائف CRUD (إنشاء، قراءة، تحديث، حذف).

إدارة الطلبات:

إنشاء الطلبات وتتبع حالتها.

استعراض تاريخ الطلبات للمستخدمين.

عربة التسوق:

السماح للمستخدمين بإضافة المنتجات إلى عربة التسوق وتحديث الكميات.

إتمام عملية الدفع بأمان.

تكامل المدفوعات:

دمج بوابة المدفوعات Stripe لدعم طرق الدفع المتنوعة.

إدارة الشحن:

التعامل مع العناوين الخاصة بالشحن وحساب تكاليف الشحن.

أمان عالي:

تطبيق أفضل ممارسات تطوير الواجهات البرمجية مثل التحقق من الإدخال وتحديد معدل الاستخدام (Rate Limiting).

التعامل مع الأخطاء:

إدارة شاملة للأخطاء مع تسجيل الأخطاء لتحسين تجربة المستخدم.

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

ASP.NET Core 6: الإطار الأساسي لتطوير الواجهة الخلفية.

Entity Framework Core: للتعامل مع قاعدة البيانات.

SQL Server: نظام إدارة قواعد البيانات.

JWT: للتوثيق الآمن.

Stripe: بوابة الدفع المتكاملة.

AutoMapper: لتحويل الكائنات بين النماذج (Entities) وواجهات البيانات (DTOs).

Swagger: لتوثيق واختبار API.

Repository Pattern: لضمان فصل المسؤوليات وتنظيم الكود.

بنية المشروع (Architecture)

تم تنظيم المشروع بناءً على نمط العمارة النظيفة (Clean Architecture) لفصل المهام والمسؤوليات:

API Layer: يحتوي على الـ Controllers، الـ DTOs، الـ Extensions، الأخطاء (Errors)، المساعدات (Helpers)، والوسيطات (Middlewares).

Core Layer: يحتوي على الكيانات (Entities)، المواصفات (Specifications)، المستودعات (Repositories)، والخدمات (Services).

Repository Layer: مسؤول عن الوصول إلى البيانات وتنفيذ نمط المستودع (Repository Pattern).

Service Layer: يحتوي على الخدمات المسؤولة عن تنفيذ منطق الأعمال والوظائف.

شرح الكائنات الأساسية (Controllers)

1. AccountsController

الوظائف: تسجيل المستخدمين، تسجيل الدخول، وإدارة معلومات الحساب.

المسارات:

POST /api/Accounts/Register: تسجيل مستخدم جديد.

POST /api/Accounts/Login: تسجيل الدخول للمستخدمين الحاليين.

GET /api/Accounts/GetCurrentUser: استرجاع معلومات المستخدم الحالي.

GET /api/Accounts/Address: استرجاع العنوان المحفوظ للمستخدم.

PUT /api/Accounts/Address: تحديث العنوان.

2. BasketController

الوظائف: إدارة عمليات عربة التسوق.

المسارات:

GET /api/Basket/{id}: استرجاع عربة التسوق للمستخدم.

POST /api/Basket: تحديث محتويات العربة.

DELETE /api/Basket/{id}: حذف عربة التسوق.

3. OrdersController

الوظائف: إنشاء الطلبات واستعراضها.

المسارات:

POST /api/Orders: إنشاء طلب جديد.

GET /api/Orders: استرجاع جميع الطلبات للمستخدم.

GET /api/Orders/{id}: استرجاع طلب معين باستخدام معرفه.

4. PaymentsController

الوظائف: إدارة عمليات الدفع باستخدام Stripe.

المسارات:

POST /api/Payments/{BasketId}: إنشاء أو تحديث نية الدفع (Payment Intent).

POST /api/Payments/webhook: التعامل مع إشعارات Stripe لحالة الدفع.

5. ProductsController

الوظائف: عرض وإدارة معلومات المنتجات، العلامات التجارية، والفئات.

المسارات:

GET /api/Products: استرجاع جميع المنتجات مع دعم الفلترة، الفرز، والتقسيم إلى صفحات.

GET /api/Products/{id}: استرجاع منتج معين باستخدام معرفه.

مزايا إضافية

تحديثات المخزون التلقائية: يتم تحديث الكميات بعد كل عملية شراء أو إرجاع.

أدوات تحليل وتقارير شاملة: لتمكين أصحاب المتاجر من اتخاذ قرارات استراتيجية.

تصميم مرن ومتجاوب: يدعم جميع الأجهزة لضمان تجربة مستخدم متكاملة.

الخلاصة

واجهة برمجة التطبيقات Talabat E-Commerce API تقدم حلًا متكاملًا واحترافيًا لإدارة منصات التجارة الإلكترونية، مما يجعلها الخيار المثالي لبناء متاجر إلكترونية قابلة للتوسع وذات أداء عالي.

بطاقة العمل

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