يقدم تطبيق التجارة الإلكترونية الذي تم تطويره باستخدام Flutter تجربة تسوق متكاملة وعصرية للمستخدمين. يعتمد التطبيق على بنية MVVM (Model-View-ViewModel) لضمان تنظيم الكود وسهولة صيانته وتطويره. تم استخدام GetX كحل شامل لإدارة الحالة، والتنقل بين الشاشات، وحقن الاعتماديات، مما يساهم في تحسين أداء التطبيق وتبسيط عملية التطوير.
ميزات التطبيق:
مصادقة المستخدمين:
يتيح التطبيق للمستخدمين تسجيل الدخول، التسجيل، وتسجيل الخروج بطريقة آمنة باستخدام Firebase Authentication. يمكن للمستخدمين أيضاً استرجاع كلمات المرور الخاصة بهم عند الحاجة.
كتالوج المنتجات:
يمكن للمستخدمين تصفح مجموعة واسعة من المنتجات مع عرض تفاصيل دقيقة تشمل الوصف، السعر، والصور. يوفر التطبيق إمكانية البحث عن المنتجات وتطبيق الفلاتر لتسهيل عملية العثور على المنتجات المرغوبة.
إدارة العربة:
يمكن للمستخدمين إضافة المنتجات إلى العربة، تحديث الكميات، أو إزالة المنتجات بكل سهولة. تتميز واجهة المستخدم بتصميم سلس يوفر تجربة مستخدم مريحة وممتعة.
معالجة الطلبات:
يمكن للمستخدمين تقديم الطلبات وتتبع حالة الطلب في الوقت الفعلي. يتم تحديث حالة الطلب تلقائيًا في Firebase، مما يتيح للمستخدمين متابعة طلباتهم بسهولة.
ملف المستخدم:
يتيح التطبيق للمستخدمين إدارة معلومات حساباتهم وعرض سجل الطلبات السابقة. يمكن للمستخدمين تحديث بياناتهم الشخصية والإطلاع على تاريخ الطلبات بسهولة.
التخزين المحلي:
تم استخدام SQLite لتخزين البيانات محليًا، مما يتيح للمستخدمين الوصول إلى معلوماتهم حتى عند عدم توفر اتصال بالإنترنت. يتم تخزين تفضيلات المستخدمين وإعداداتهم في Shared Preferences لضمان تجربة مخصصة تتماشى مع احتياجاتهم.
التقنيات المستخدمة:
Flutter: لبناء تطبيقات متوافقة مع منصات متعددة (Android وiOS) بكفاءة عالية.
MVVM Architecture: لضمان تنظيم الكود وسهولة صيانته وتطويره.
GetX: لإدارة الحالة والتنقل وحقن الاعتماديات.
Firebase: لتوفير خدمات الخادم الخلفي مثل المصادقة، وقاعدة البيانات في الوقت الفعلي، والتخزين السحابي.
SQLite: لتخزين البيانات محليًا عند عدم توفر اتصال بالإنترنت.
Shared Preferences: لتخزين إعدادات وتفضيلات المستخدم.
يعتبر هذا التطبيق مثالاً عمليًا لكيفية دمج التقنيات المختلفة معًا لتقديم تجربة مستخدم غنية ومتكاملة، ويعكس مستوى عالٍ من الاحترافية في تطوير تطبيقات التجارة الإلكترونية.