Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Des Arrollo
Des Arrollo
Actividad 1. Desarrollo de un
Front-End utilizando React
1
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
Tabla de contenido
1. Introducción. 2
2. Estructura del proyecto 3
3. Componentes de React 4
4. Hooks utilizados: 5
5. Rutas 6
6. Vistas 7
7. Publicación del sitio WEB 12
8. Conclusiones 12
1. Introducción.
En este informe se realiza el desarrollo Front-End de una página WEB haciendo uso de la librería
React. El desarrollo se divide en la creación de las rutas de la página, así como de vistas, y
componentes funcionales que se reutilizan en el proyecto. Se hace uso además de hooks de React
como de un custom hooks, el mismo que nos permite tratar la data de formularios, así como validar
errores.
La temática escogida para la página Web es la de una tienda online en donde se listan los productos
y el usuario puede agregar, quitar o eliminar productos de su carrito de compras; adicionalmente se
cuenta con un menú para administrar los productos disponibles que servirá para el usuario
administrador.
Debido a que no se usa una base de datos como tal, se configura un archivo .ts en donde se tiene un
niversidad Internacional
objetodeque
La Rioja (UNIR)la
guarda data y que se importa al iniciar el aplicativo, la data se guarda en el local
storage en el caso de no tener data, cas contrario se carga directamente del local storage. Se
desarrolla una tienda online por la necesidad actual de venta en línea lo que ayuda en gran medida a
emprendedores, además de ayudar a expandir sus clientes.
2
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
Para tener una mejor organización del proyecto se creó la siguiente estructura:
- Assets: En donde se almacenan todos los recursos de imágenes del proyecto.
- Components: En donde se tienen los componentes reutilizables que se utilizan dentro del
proyecto.
- Context: Se guarda el archivo Parameters.tsx que guarda la información de perfil de usuario
en todo el proyecto.
- Database: En donde se tienen las funciones necesarias para simular un CRUD para listar,
agregar, editar productos, así como para manejar el carrito de compras.
- Hooks: En donde se tiene el custom hook utilizado para administrar los formularios del
niversidad Internacional de La Rioja (UNIR)
proyecto.
- Layouts: En donde se tiene las vistas del proyecto que se incluyen en App.tsx.
- Style: En donde se tiene el archivo de estilos del proyecto para las diferentes vistas. En el
caso del proyecto actual se instaló boostrap para los estilos.
3
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
- Utils: En donde se tiene un archivo que exporta una función de validación para los errores a
mostrar en los formularios del proyecto y un archivo de interfaces.
3. Componentes de React
4
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
4. Hooks utilizados:
Para la implementación del sistema se hace uso de los hooks: useState, useEffect, useRef,
usseContext.
Se crea un hook que permite administrar el estado de un form dentro de React, como entrada del
custom hoy se tienen el estado inicial de un formularo, una función callback que se llama cuando el
formulario es válido, una función de validación que toma los valores del formulario y mediante un
for sedeanaliza
niversidad Internacional cada
La Rioja (UNIR) campo para determinar si los campos están vacíos o si no cumplen con el
formato. La salida el custom hook devuelve los valores del formulario, los errores detectados, una
función handleChange que se llama desde el componente padre para establecer los valores de los
inputs, una función handleSubmit para obtener la información del form, la función handleReset
para limpiar los valores del formulario, hangleChangeImage para establecer el valor en base 64 del
5
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
input de imagen, y una función setValues que actualiza todos los valores del formulario, está
función en especial se utiliza en la vida te edición de productos para cargar la data inicial.
5. Rutas
En el componente App.tsx se establece las rutas de la tienda online para visualizar las vistas del
aplicativo como se muestra en la ilustración 3. Se tiene una ruta para mostrar el perfil, una ruta
para el componente principal en donde se listan todos los productos, rutas hijas para mostrar los
productos por categoría, una ruta para mostrar los productos existentes y su configuración, rutas
hijas para agregar o editar productos, entre otras funcionalidades.
6
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
6. Vistas
Se baso el diseño del aplicativo en los sitios para ventas de productos, en donde se dispone de un
header, un sidebar y vistas. La funcionalidad del header se describió en secciones anteriores por lo
que se describe la funcionalidad del side bar.
6.1 Sidebar:
El sidebar se muestra de forma dinámica pasando un array de menús y submenús con sus íconos y
rutas de redirección. Está configurado con el estilo position fixed de forma que se pueda acceder
desde todo el aplicativo. Los estilos se definen en los etilos personalizados.
7
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
Ilustración 4. Sidebar
6.2 MyApp:
El componente principal es el home en donde se muestran todos los productos disponibles que el
usuario final puede agregar a su carrito de compras, como se muestra en la ilustración 4. Se tiene
un botón de acción para agregar productos. En la parte superior del componente se cuenta con un
input de búsqueda que permite filtrar los productos por nombre, tipo y empresa.
8
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
Cuando se da click en botón de agregar al carrito de compras se crea un array con el id del producto
y se agrega la lista de productos como su cantidad en el local storage, al acceder al menú de carrito
de compras se puede observa los productos con botones para agregar, reducir la cantidad de
productos. También se tiene la opción para eliminar el producto del carrito de compras. En la parte
inferior se tiene acciones para terminar la compra que en el presente proyecto no se tiene
implementado, y la opción de limpiar el carrito de compas.
6.4 Configuración:
La vista de configuración permite listar todos los productos que se han ingresado, aunque no se
tenga en existencia, es decir con cantidad 0, en el menú principal solo se muestran los productos
disponibles. Como se muestra en la figura 7, se dispone de un input para buscar, un botón para
agregar y en la parte baja del card se tiene un botón para editar los productos disponibles.
niversidad Internacional de La Rioja (UNIR)
9
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
El formulario de edición mediante el hook useEffect trae la información del producto tomando el
valor de id del producto de la ruta.
10
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
6.7 Perfil:
11
Actividades
Asignatura Datos del alumno Fecha
Desarrollo Apellidos: Molina León
15/05/2023
WEB Full Stack Nombre: José Luis
Una vez concluido el desarrollo del aplicativo se publicó el sitio mediante la plataforma de
desarrollo netlify, se usa netlify ya que facilita la creación de sitios web y aplicaciones web
modernas. Para el presente proyecto se hizo uso de GitHub para su publicación, se adjunta el
enlace al sitio: https://migirasolstore.netlify.app/
8. Conclusiones
En este trabajo se realizó el desarrollo Front-End de una tienda online haciendo uso de la librería
React, para su desarrollo se hace uso de los principales elementos aprendidos en clase como son
elementos HTML, CSS, Hooks, etc. Para su desarrollo se empezó por crear los componentes
principales, convirtiendo al código repetido en componentes funcionales. En este proyecto, se
implementó una tienda en línea con la funcionalidad de agregar, quitar y eliminar productos del
carrito de compras, además de la administración de productos para el usuario administrador.
Asimismo, se ha implementado un custom hook para la gestión de formularios y validación de
errores. Es importante destacar que el proyecto se ha estructurado de forma organizada y modular,
permitiendo una fácil escalabilidad y mantenibilidad del mismo. Además, se ha utilizado Bootstrap
para los estilos, lo que ha permitido una interfaz visual atractiva y adaptativa a diferentes
dispositivos.
12
Actividades