/app-ecommerceDetodito

Primary LanguageJavaScriptMIT LicenseMIT

De Todito Store Logo de Ecommerce Detodito

Repo Stats

GitHub commit activity (branch) GitHub last commit (branch) GitHub top language GitHub repo size

Es una aplicación móvil de comercio electrónico que esta desarrollada para dispositivo android, construida con React Native y Expo. Con un flujo de procesos desde la creación de usuario hasta la generación de una orden, de acuerdo a los productos seleccionados.

☑️ Funciones y características

Selección Personalizada: Los productos pueden ser filtrados por categorías.

Vista detallada Cada producto tiene una descripcion de sus caracteristícas el cual se puede ver al presionar sobre cada producto.

Agregar al carrito: Al ver el detalle del producto, se puede agregar al carrito.

Control del carrito: Revisar los elementos agregados en cualquier momento en una lista completa junto con sus precios individuales y el total acumulado, y si es necesario, eliminar alguno de los productos en particular o cambiar la cantidad deseada.

Ordenes: Al confirmar lo contenido en el carrito se genera una orden.

Autenticación de Usuarios: Los usuarios pueden registrarse e iniciar sesión.

🛠️ Tecnologías & Lenguajes

🛠️ Frameworks:

React Native

Framework para desarrollar aplicaciones móviles utilizando React. Permite construir aplicaciones para iOS y Android usando el mismo código base de JavaScript y React.

Expo

Facilita el desarrollo y la construcción de aplicaciones React Native. Ofrece una serie de APIs y servicios que aceleran el desarrollo y el despliegue de aplicaciones móviles.

📚 Librerías:

Redux

Manejar el estado global de la aplicación de manera predecible y centralizada. Se utiliza para gestionar y compartir el estado entre los diferentes componentes de la aplicación.

Firebase

Autenticación de los usuarios registrados y base de datos en tiempo real de los productos, categorias, ordenes e imagenes de cada perfil de usuario.

JavaScript

Lenguaje de programación utilizado para manejar la lógica de la aplicación y construir los componentes de React Native.

SQLite

En este proyecto, se utiliza para almacenar datos localmente en el dispositivo, para la persistencia de datos.

React Hook Form

Gestión de formularios y validaciones, mejorando la experiencia del usuario y el rendimiento de la aplicación.

Markdown

En este proyecto, se utiliza para escribir la documentación de manera clara y legible.

💻 Instalación

Requisitos previos:

Node.js y npm:

  • Node.js es un entorno de ejecución para JavaScript fuera del navegador, y npm es el gestor de paquetes para Node.js.
    • Version de Node.js (LTS) - v20.15.1
    • Windows/MacOS/Linux: Descarga e instala Node.js desde nodejs.org.

Clonar el repositorio

git clone https://github.com/Nath-Maya/app-ecommerceDetodito.git
cd app-ecommerceDetodito

Instalar dependencias

Ejecute el siguiente comando en la terminal, el cual instalara las dependencias contenidas en el package.json

npm install

Iniciar el proyecto con Expo

Ejecutar en la terminal el siguiente comando:

npm run start 

Seleccionar la opcion a para ejecutar el simulador android.

Expo

📁 Estructura del proyecto


├── App.js
├── LICENSE
├── README.md
├── app.json
├── assets
├── babel.config.js
├── components
│   ├── AddButton.jsx
│   ├── CartItem.jsx
│   ├── Categories.jsx
│   ├── ItemCategory.jsx
│   ├── ListCategory.jsx
│   ├── Logout.jsx
│   ├── NotFoundModal.jsx
│   ├── OrderItem.jsx
│   ├── ProductItem.jsx
│   ├── ProductRating.jsx
│   ├── QuantitySelector.jsx
│   ├── RemoveButton.jsx
│   ├── SearchInput.jsx
│   └── TotalCart.jsx
├── config
│   └── theme.js
├── data
│   ├── cart.json
│   ├── category.json
│   ├── orders.json
│   └── products.json
├── database
│   ├── SQliteConfig.js
│   └── firebaseConfig.js
├── icons
├── navigation
│   ├── MainNavigator.js
│   ├── Routes.js
│   ├── StackAuth.js
│   ├── StackCart.js
│   ├── StackProfile.js
│   ├── StackOrders.js
│   ├── StackShop.js
│   ├── StackWelcome.js
│   └── TabNavigator.js
├── package-lock.json
├── package.json
├── redux
│   ├── auth
│   │   └── authSlice.js
│   ├── cart
│   │   └── cartSlice.js
│   └── shop
│       └── shopSlice.js
├── screens
│   ├── Cart.jsx
│   ├── Home.jsx
│   ├── ImageSelector.jsx
│   ├── ItemDetail.jsx
│   ├── ItemListCategory.jsx
│   ├── Login.jsx
│   ├── MyProfile.jsx
│   ├── Orders.jsx
│   ├── SignUp.jsx
│   └── Welcome.jsx
├── service
│   ├── authService.js
│   ├── shopService.js
│   └── userService.js
├── store
│   └── store.js
├── utils
│   ├── formatDate.js
│   └── formatPrice.js
└── validations
    ├── loginSchema.js
    └── signUpSchema.js

🔐 Licencia:

Este proyecto está licenciado bajo la Licencia MIT. Mira el archivo LICENSE para más detalles.

🤝 Cómo Contribuir

Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request para cualquier mejora o corrección.

  • Fork el repositorio
  • Crea una rama de la característica (git checkout -b feature/nueva-caracteristica)
  • Commit tus cambios (git commit -m 'Añadir nueva característica')
  • Push a la rama (git push origin feature/nueva-caracteristica)
  • Abre un Pull Request

Gracias por utilizar De Todito Store!