Frontend Bsale 2022 Bienvenido a la documentación de la aplicación de tienda virtual, la cual permite presentar los productos y categorías extraído de los endpoints del API Rest BSALE 2022
- La aplicación esta desarrollada en JavaScript Vanilla.
- Se empleó métodos estaticos.
- camelCase en los nombres de variables.
- Explicación detallada se encuentra en los comentarión de código fuente
No requiere de token de acceso para realizar las consultas. Dado que la API es desarrollado como parte de una prueba técnica
-js
- Product.js
- Category.js
- css
- main.css
- index.html
- app.js
- Para el desarrollo de la tienda virtual se utilizó boostrap para el diseño.
- Se creo tres estructuras en el body de HTML: header, main y footer
- Se asignaron
id
con el objetivo de manejarlo mediante javascript.
- En primer lugar, se creo la clase Product que contiene los siguientes métodos, la explicación de los argumentos de cada método se encuentra detallado en los comentarios del código fuente:
- #showDOM - Método estático privado con el objetivo de renderizar los productos.
- #clearDOM - Método estático privado con el objetivo de limpiar el contenedor de productos.
- #showError - Método stático privado para mostrar errores que se presenten.
- #loading - Método stático privado para mostrar el efecto de carga al momento de realizar una petición.
- getAllProducts - Método stático que realiza la petición de todos los productos.
- getProductByName - Método stático que realiza la petición de todos los productos filtrado por nombre.
- getProductByCategory -Método stático que realiza la petición de todos los productos filtrado por categoría.
- #pagination - Método stático privado para gestionar la paginación de las distintas consultas.
- En segundo lugar, se creo la clase Category que contiene los siguientes métodos, a explicación de los argumentos de cada método se encuentra detallado en los comentarios del código fuente:
- getAllCategories - Método statico para obtener todas las categorías
- #showDropdown -Método stático privado para renderizar en el DOM las categorías.
- Mediante los
id
asignados en el código HTML se obtuvo los elementos que ejecutaran los eventos, desde el evento de carga, donde se ejecuta las peticiones de productos y categorías, hasta el evento click o enter cuando se busca un determinado producto mediante nombre, categoría o página. - Finalmente se empleo un timer que reinicia los valores almacenados en el localStorage de las consultas, ya que esto permite no realizar peticiones consecutivas, debido a que la data enviada no esta en constante actualización.