هذا المشروع هو تطبيق مبسط لنظام التسوق ، ويهدف المشروع إلى توفير الميزات الأساسية التي من المتوقع العثور عليها في تطبيق التجارة الإلكترونية المحمول حيث يمكن للمستخدمين شراء وبيع المنتجات. للتنقل عبر التطبيق ، يتعين على المستخدمين مصادقة أنفسهم. بمجرد تسجيل الدخول ، يمكن للمستخدمين التمرير عبر قائمة المنتجات المتاحة ، وإضافة منتجات مختلفة إلى العربة ، وتقديم الطلبات. يمكن للمستخدمين أيضًا إضافة منتجاتهم الخاصة وتحريرها وإزالة منتجاتهم الخاصة إلى المتجر الرئيسي.
يحتوي التطبيق على نظام مصادقة بسيط يتم تنفيذه باستخدام واجهة برمجة تطبيقات Firebase Auth Rest للواجهة الخلفية. إذا نجحت عملية المصادقة ، فسيتم إرسال رمز فريد من الواجهة الخلفية إلى المستخدم في قلق ، ثم يتم تخزين الرمز المميز محليًا في الجهاز وسيتم انتهاء صلاحيته تمامًا بعد 1 ساعة من مستقبله. عند انتهاء صلاحيتها ، يتم حذف الرمز المميز من الجهاز وسيتم تسجيل المستخدم تلقائيًا ومطالبة بشاشة تسجيل الدخول. خلاف ذلك ، إذا حدث خطأ ما في عملية المصادقة ، فسيتم عرض رسالة الخطأ المناسبة في الشاشة.
لضمان توفير بيانات الاعتماد الصحيحة عندما يدخل المستخدم بعض البيانات ، تحتوي جميع النماذج في هذا المشروع على بعض خوارزميات التحقق الأساسية التي يتم إعادة استخدامها عند الحاجة إلى التحقق من الصحة.
يتم تخزين معظم البيانات في هذا المشروع (المنتجات ، الطلبات ، المستخدمون) في قاعدة بيانات Firebase REALTIME. يتم تخزين بعض البيانات الأخرى الخاصة بالمستخدم (المنتجات المفضلة ، والمنتجات المفضلة) محليًا في الجهاز باستخدام AsyncStorage.
تم تصميم كل التنقل في هذا المشروع مع React Navigation V5.
يحتوي التطبيق على أنواع مختلفة من الرسوم المتحركة على شاشات مختلفة لتوفير تجربة مستخدم أكثر سلاسة ، يتم تنفيذ جميع الرسوم المتحركة باستخدام مكتبة React Native Reanimated ، مما يعني أن الغالبية العظمى من الحسابات المطلوبة لتحريك خصائص الأناقة المختلفة يتم تنفيذها جميعًا في مؤشر ترابط واجهة المستخدم في مؤشر الترابط الأصلي. سوف يعمل بسرعة 60 إطارًا في الثانية حتى في الأجهزة المنخفضة.
جميع أصول التصميم المستخدمة في هذا التطبيق (الشاشات والمكونات والرموز ...) تصنعها مالك هذا المشروع.
لتشغيل المشروع محليا تشغيل الأوامر التالية بالترتيب:
استنساخ المشروع محليا
$ git clone https://github.com/abdoutech19/shop-app.git
انتقل إلى دليل جذر المشروع
$ cd shop-app
تثبيت جميع التبعيات
$ yarn install || npm install
قم بتشغيل المشروع في وضع التصحيح
$ npx react-native run-android
أو قم بتشغيل المشروع في وضع الإصدار لتجربة أكثر سلاسة
$ npx react-native run-android --variant=release
ملاحظة: يستخدم هذا المشروع محرك Hermes JavaScript لتحسين وقت بدء التشغيل وتقليل استخدام الذاكرة وتقليل حجم التطبيق. من أجل أن تدخل هذه التحسينات ، يجب أن يكون التطبيق قيد التشغيل في وضع الإصدار ، وإلا فإن Hermes لن يكون له أي تأثير على تحسين الأداء في وضع التصحيح ، في الواقع ، لاحظ بعض المطورين نتائج أبطأ مع تمكين محرك Hermes في وضع التصحيح .
لاختبار التطبيق في جهاز Android الخاص بك ، يمكنك تنزيل ملف .apk من هنا: التسوق.
موزعة تحت رخصة معهد ماساتشوستس للتكنولوجيا. انظر الترخيص لمزيد من المعلومات.
أرسل لي بريدًا إلكترونيًا على: [email protected].