تفاصيل العمل

منصة التجارة الإلكترونية (معمارية الخدمات المصغّرة)

نظرة عامة على المشروع

يهدف هذا المشروع إلى بناء منصة تجارة إلكترونية تعتمد على معمارية الخدمات المصغّرة (Microservices)، حيث يوفر النظام الخصائص التالية:

تمكين المستخدمين من التسجيل وتسجيل الدخول باستخدام JWT لضمان الأمان.

إتاحة تصفح المنتجات وإضافتها إلى عربة التسوق بسهولة.

إدارة صلاحية عناصر عربة التسوق وفق القواعد التالية:

الصلاحية الافتراضية: 24 ساعة.

عند إنشاء طلب: تمتد الصلاحية إلى أسبوع واحد.

عند إتمام عملية الدفع: تصبح الصلاحية غير محددة.

استخدام RabbitMQ لضمان التواصل غير المتزامن بين الخدمات، مثل:

إرسال رسائل تأكيد البريد الإلكتروني.

تحديث المخزون.

إشعارات حالة الدفع.

توثيق جميع واجهات برمجة التطبيقات باستخدام Swagger / OpenAPI.

مكونات النظام

خدمات Java Spring Boot

خدمة المنتجات (MySQL)

إدارة المنتجات، الفئات، والمخزون.

نشر أحداث حجز المخزون عبر RabbitMQ عند إنشاء الطلبات.

خدمة الطلبات (PostgreSQL)

إدارة دورة حياة الطلب بالكامل.

التحقق من صحة رمز JWT قبل إنشاء الطلب.

استهلاك أحداث حجز المخزون من RabbitMQ.

إصدار أحداث حالة الطلب (تم الإنشاء، تم التأكيد، تم الإلغاء).

خدمة المصادقة (PostgreSQL – JWT)

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

إدارة رموز JWT.

دعم أدوار المستخدمين: عميل ومسؤول.

خدمات C# ASP.NET Core

خدمة عربة التسوق (Redis)

إدارة عربات التسوق مع سياسات زمنية (TTL):

افتراضيًا: 24 ساعة.

عند إنشاء الطلب: أسبوع واحد.

عند تأكيد الدفع: إزالة الـ TTL (صلاحية غير محددة).

خدمة الدفع (SQL Server)

التحقق من صحة JWT قبل تنفيذ عملية الدفع.

معالجة مدفوعات الطلبات.

نشر أحداث نجاح أو فشل الدفع إلى RabbitMQ.

البنية التحتية

بوابة API (Spring Boot)

توجيه الطلبات بين الخدمات.

التحقق من صحة رموز JWT قبل الوصول إلى خدمات الطلبات والدفع.

اكتشاف الخدمات (Spring Boot Eureka)

تسجيل وإدارة جميع الخدمات المصغّرة داخل النظام.

RabbitMQ

ناقل أحداث غير متزامن لإدارة التواصل بين الخدمات، خاصةً فيما يتعلق بالطلبات، المخزون، والدفع.

بطاقة العمل

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