Contenido
- Acerca del proyecto
- Comandos disponibles
- Uso de librerías
- Arquitectura del proyecto
- Estilos
- Consideraciones finales
Este proyecto ha sido creado con el framework React JS Create React App.
Podrá acceder al dominio de la aplicación aquí Scoole App.
La aplicación Scoole ha sido creada como ejercicio de práctica para el curso de React JS de la Comisión 16985.
Scoole dentro del ejercicio, funciona como ecommerce, para la compra de vehículos de transporte alternativo.
Las distintas funcionalidades han sido creadas paso a paso conforme avanzó el curso y como entrega final -Además de los features desarrollados- se propone una mejora en la interfaz y en la usabilidad.
- Navbar
- Catálogo
- Detalle de producto
- CartContext
- CartWidget
- Formulario de compra
Podrá obtener una versión del repositorio ejecutando en la terminal:
git clone https://github.com/oscargon12/scoole-app.git
Permite la instalación de dependencias necesarias para la ejecución del proyecto
Permite correr la aplicación en modo de desarrollo
Abre http://localhost:3000 en una pestaña del navegador.
La página se recargará con cada nuevo cambio del editor de código. \
Podrá ver el log de errores en la terminal.
Corre la ejecución de pruebas en el modo de vigilancia interactiva. \
Construye la aplicación para producción en la carpeta build
.
Agrupa correctamente React en modo de producción y optimiza la compilación para obtener el mejor rendimiento.\
La compilación está minificada y los nombres de los archivos incluyen los hashes.
La aplicación estará lista para ser desplegada.
Para una mejor experiencia y feedback en la aplicación se han implementado las siguientes librerías externas:
Permite el uso del framework de UI Bootstrap dentro de la aplicación de React, esto agiliza el proceso de estilado y definición del layout y responsive
Es la base de datos de la aplicación, permite acceder al API de productos y ordenes de compra mediante los métodos establecidos.
Funciona como una biblioteca de íconos que son usados en distintos puntos de la interfaz
Gestiona las rutas de la aplicación, entre otras ventajas, permite que la aplicación funciona como una SPA, sin generar nuevas recargas al acceder a una nueva sección
Permite mostrar las alertas de una manera más amigable, que las generadas nativamente por el navegador, usando jerarquías de información y feedback mediante iconografía y color.
Los componentes se ubican, cada uno, en distintos directorios, dentro de la carpeta components
Así mismo, los context
, helpers
, router
y el config
de firebase se manejan de manera independiente y modular
Los estilos del proyecto se manejaron globalmente, con el preprocesador SCSS Lo que permitió generar una sola hoja de estilos para todo el proyecto.
Esta hoja de estilos a su vez es modular, donde el archivo principal main.scss
consume a los archivos:
_variables.scss
donde se definen las variables de scss globales_utility.scss
donde se definen algunas utilidades similares a las de bootstrap, pero más específicas como colores personalizados y el tipo de fuente_componentes.scss
que permite dar estilo a componentes globales de la aplicación de manera más personalizada
Si bien dentro de las rúbricas de evaluación y las sugerencias brindadas por el profesor, está el no dejar código comentado este se mantuvo, ya que siendo un proceso de aprendizaje, funcionó como punto de referencia.
Bajo esta misma logica, se mantuvieron algunos debuggers que permitieron comprobar el correcto funcionamiento de la aplicación