# لمحة عن المشروع
متجر زهور إلكتروني متكامل يعتمد على Next.js 14+ + TypeScript في الواجهة الأمامية، و NestJS + MongoDB في الخلفية، مصمم بأناقة وفق مبادئ SOLID. يدعم المنصة المحتوى الثنائي (إنجليزية/عربية)، ويوفر نظام تحقق آمن، لوحة تحكم تحليلية للإدارة، ودفع عبر Stripe، مع هيكلية modular أنيقة.
## الواجهة الأمامية (Next.js + TypeScript)
- يعتمد App Router مع تخطيطات متداخلة، مكونات خادم، مجموعات مسارات، وحدود خطأ
- منهجية TypeScript-first، مع Tailwind CSS، مكونات UI متوافقة مع المعايير، وتفاعلات دقيقة
- Firebase Authentication لإدارة تدفقات التسجيل، الدخول، والجلسات الآمنة
- مسارات محلية تدعم العربية والإنجليزية، مع عناوين URL “slug” صديقة لمحركات البحث
- تجربة تسوق أساسية: سلة شراء، قائمة مفضلات، البحث، وترقيم الصفحات
- لوحة تحكم إدارية تعرض تحليلات، مخططات، ومقاييس عملية
- تكامل مع Sentry للمراقبة في وقت التشغيل، إدارة أخطاء موحدة، وواجهات برمجة تطبيقات منظمة تحت app/api
## باك اند (NestJS + MongoDB + Stripe)
- مبنية باستخدام NestJS وبنية modular، و MongoDB عبر Mongoose
- تكامل عميق مع Stripe للجلسات، نوايا الدفع، و webhooks
- استخدام Cloudinary لتخزين الصور وإدارتها
- خدمة بريد إلكتروني مخصصة للتنبيهات والإشعارات
- أمان عبر JWT + Role-Based Access Control على نقاط النهاية
- تجريد المستودعات: ProductRepository, AuthRepository, CartRepository, OrderRepository
- تجريد الخدمات: PasswordHasherService, TokenService, ProductSearchService, CartPricingService وغيرها
- بنية بوابة الدفع (gateway abstraction) لتسهيل التوسع في المستقبل
## أبرز النجاحات
- بنية أنيقة واتباع SOLID — التزام صارم بـ SRP, OCP (من خلال البوابات), LSP, DIP، مع واجهات تعبيرية وحقن تبعيات
- تصميم modular قابل للتوسع — وحدات منفصلة للمنتجات، المصادقة، السلة، الطلبات، المدفوعات، المفضلات
- تنفيذ دفع قوي — تدفق Stripe كامل مع checkout و webhooks، وتجريد يسمح بإضافة طرق دفع إضافية، ودعم الدفع النقدي عند التسليم
- تجربة متعددة اللغات غنية — محتوى كامل باللغتين، تصفية وبحث حسب اللغة، وتوجيه SEO مستقل لكل لغة
- أمن وترخيص قوي — حماية عبر JWT + RBAC، و pipes مخصصة للتحقق الصارم من المدخلات
- ميزات واقعية — منطق السلة، دورة حياة الطلب، نظام المفضلات، مقاييس إدارية، بيئة رسائل بريد إلكتروني تفاعلية