![buy app source code buy app source code](https://files.readme.io/1e86cfa-Screenshot_159.png)
The app contains different types of animations on different screens to provide a smoother user experience, all animations are implemented using the React Native Reanimated library, which means the vast majority of calculations required to animate different style properties are all done in the UI Thread in the native side, so the bridge between native and react native is very infrequently crossed, therefore, animtions are never interrupted even if the JS Thread is heavily busy, resulting in smooth animations that would run at 60fps even in low-end devices. NavigationĪll navigation in this project is built with React Navigation v5. Some other user-specific data (auth-token, favorite products) are stored locally in the device using AsyncStorage. Most data in this project (products, orders, users) is stored in Firebase Realtime Database. To ensure the right credentials are to be provided whenever the user enters some data, all forms in this project contain some basic validation algorithms that are reused whenever validation is required. Otherwise, if something went wrong with authentication process, the proper error message will be displayed in the screen. When expired, the token is deleted from the device and the user will be automatically signed out and prompt to the login screen.
![buy app source code buy app source code](https://www.codester.com/static/uploads/items/3035/preview/003.jpg)
If the authentication process is successful, a unique token is sent from the backend to the user in concern, the token is then stored locally in the device and will expire exactly after 1h of its receival. The app contains a simple authentication system implemented using Firebase Auth REST API for the backend. Users can also add, edit, remove their own products into the main store. You can also manage resources from the command line, debug source code, and run API back ends easily. Once logged-in, users can scroll through the list of available products, add different products to the cart, and make orders. To navigate through the app, users have to authenticate themselves. This project is a simplified implementation of a shopping system, the project aims to provide the basic features that are expected to be found in a mobile e-commerce application where users can purchase and sell products.