تفاصيل العمل

Nectar EVO هو تطبيق تسوّق متكامل يغطي كامل رحلة المستخدم: من التسجيل والدخول، مرورًا بتصفح المنتجات والفئات، وصولًا إلى السلة والمفضلة والدفع والإشعارات. تم بناؤه بعقلية هندسية تركّز على قابلية الصيانة، فصل الطبقات (Separation of Concerns)، وقابلية التوسّع مستقبليًا.

⚙️ أبرز الجوانب التقنية

المعمارية: Clean Architecture بنمط Feature-First (Presentation → Domain → Data)، مع فصل واضح بين منطق العمل وواجهة المستخدم ومصادر البيانات.

إدارة الحالة: BLoC Pattern عبر flutter_bloc، مع استخدام BlocSelector لتقليل إعادة البناء غير الضرورية وتحسين الأداء.

حقن الاعتماديات: get_it كـ Service Locator لإدارة الـ Repositories والـ UseCases والـ BLoCs.

الشبكة والـ API: طبقة اتصال مبنية على Dio مع Interceptors مخصصة، ومعالجة أخطاء موحدة عبر نمط Either<Failure, T> باستخدام dartz.

قاعدة بيانات محلية: sqflite لتخزين السلة والمفضلة والإشعارات محليًا.

الأمان: تخزين آمن للتوكنات عبر flutter_secure_storage، تعطيل Cleartext Traffic على أندرويد، إعدادات ATS على iOS، ومعالجة مركزية لحالات انتهاء الجلسة (401).

التنقل: go_router مع StatefulShellRoute.indexedStack لتنقّل سفلي (Bottom Navigation) يحافظ على حالة كل تبويب.

واجهة المستخدم: مكتبة مكونات UI قابلة لإعادة الاستخدام (أزرار، حقول إدخال، بطاقات منتجات...)، نظام ثيمات موحّد، وحركات انتقالية سلسة.

🎯 المزايا الرئيسية

✅ نظام مصادقة كامل (تسجيل / دخول / تحديث توكن تلقائي)

✅ صفحة رئيسية بعروض وبانرات ومنتجات مميزة

✅ تصفح فئات مع تحميل تدريجي (Pagination)

✅ صفحة تفاصيل منتج مع معرض صور واختيار مقاسات

✅ سلة تسوّق وقائمة مفضلة مع تحديث فوري (Optimistic UI)

✅ نظام إشعارات محلي

✅ إدارة ملف شخصي مع رفع صور

💡 لماذا هذا المشروع يعكس مستوى احترافي؟

المشروع لا يقتصر على "تطبيق يعمل"، بل يوضّح قدرة على:

بناء بنية قابلة للتوسّع لفرق عمل متعددة

التعامل مع حالات الأخطاء والفشل بشكل احترافي (Failure Handling)

تطبيق أفضل ممارسات الأمان في تخزين الجلسات

كتابة كود قابل للاختبار والصيانة على المدى الطويل