Este proyecto es una implementación simplificada de un sistema de compras, el proyecto tiene como objetivo proporcionar las características básicas que se espera que se encuentren en una aplicación móvil de comercio electrónico donde los usuarios pueden comprar y vender productos. Para navegar a través de la aplicación, los usuarios deben autenticarse. Una vez registrado, los usuarios pueden desplazarse a través de la lista de productos disponibles, agregar diferentes productos al carrito y hacer pedidos. Los usuarios también pueden agregar, editar, eliminar sus propios productos en la tienda principal.
La aplicación contiene un sistema de autenticación simple implementado utilizando Firebase Auth REST API para el backend. Si el proceso de autenticación es exitoso, se envía un token único desde el backend al usuario. Cuando expiró, el token se elimina del dispositivo y el usuario se registrará automáticamente y se indicará a la pantalla de inicio de sesión. De lo contrario, si algo salió mal con el proceso de autenticación, el mensaje de error adecuado se mostrará en la pantalla.
Para garantizar que se proporcionen las credenciales correctas cuando el usuario ingrese algunos datos, todos los formularios en este proyecto contienen algunos algoritmos de validación básica que se reutilizan cada vez que se requiere la validación.
La mayoría de los datos en este proyecto (productos, pedidos, usuarios) se almacenan en la base de datos de Firebase Real en tiempo real. Algunos otros datos específicos del usuario (productos de autores, productos favoritos) se almacenan localmente en el dispositivo utilizando AsyncStorage.
Toda la navegación en este proyecto está construida con React Navigation V5.
La aplicación contiene diferentes tipos de animaciones en diferentes pantallas para proporcionar una experiencia de usuario más suave, todas las animaciones se implementan utilizando la biblioteca reaccionada de reactación reanimada, lo que significa 60 fps incluso en dispositivos de gama baja.
Todos los activos de diseño utilizados en esta aplicación (pantallas, componentes, iconos ...) están hechos por el propietario de este proyecto.
Para ejecutar el proyecto, ejecute localmente los siguientes comandos en orden:
Clon el proyecto localmente
$ git clone https://github.com/abdoutech19/shop-app.git
Navegue al directorio de Project Root
$ cd shop-app
Instalar todas las dependencias
$ yarn install || npm install
Ejecute el proyecto en modo de depuración
$ npx react-native run-android
O ejecute el proyecto en modo de lanzamiento para una experiencia más suave
$ npx react-native run-android --variant=release
Nota: Este proyecto utiliza el motor Hermes JavaScript para mejorar el tiempo de arranque, disminuir el uso de la memoria y reducir el tamaño de la aplicación. Para que estas mejoras entren en vigencia, la aplicación debe ejecutarse en modo de lanzamiento , de lo contrario, Hermes no tendrá ningún efecto en mejorar el rendimiento en el modo de depuración , de hecho, algunos desarrolladores han notado resultados más lentos con el motor Hermes habilitado en el modo de depuración .
Para probar la aplicación en su dispositivo Android, puede descargar el archivo .APK desde aquí: Compras.
Distribuido bajo la licencia MIT. Vea la licencia para más información.
Envíeme un correo electrónico a: [email protected].