نظام Backend متكامل لمنصة تجارة إلكترونية مبني بمعمارية الخدمات المصغرة (Microservices Architecture): قمت بتصميم وتطوير نظام قوي وموزع (Distributed System) يحاكي أنظمة الشركات الكبرى، بهدف ضمان استقلالية الخدمات وقابليتها للتوسع (Scalability) بشكل منفصل.
هيكلة النظام (Architecture Highlights):
تقسيم الخدمات: تم فصل النظام إلى خدمات مستقلة تماماً: خدمة المنتجات (Product Service)، خدمة الطلبات (Order Service)، وخدمة المخزون (Inventory Service).
إدارة الخدمات (Discovery & Gateway):
استخدام Netflix Eureka كـ Discovery Server لتسجيل واكتشاف الخدمات ديناميكياً.
بناء API Gateway ليكون المدخل الموحد للنظام وتوجيه الطلبات (Routing).
التواصل بين الخدمات: استخدام OpenFeign (أو WebClient) للتواصل المتزامن بين الخدمات للتحقق من المخزون أثناء الطلب.
المرونة (Resilience): (اختياري لو مطبق Circuit Breaker) تطبيق أنماط الـ Circuit Breaker باستخدام Resilience4j لضمان عدم توقف النظام بالكامل في حال تعطل خدمة واحدة.
قواعد بيانات منفصلة: كل خدمة تمتلك قاعدة البيانات الخاصة بها (Database per Service) لضمان الاستقلالية التامة (Decoupling).
التقنيات المستخدمة:
Core: Java 17+, Spring Boot 3.
Spring Cloud Ecosystem: Gateway, Eureka Server, OpenFeign.
Data: MySQL / PostgreSQL (Multiple Instances).
Deployment: Docker & Docker Compose.