Coder Social home page Coder Social logo

ecomsur-desafio's Introduction

Prueba tecnica Front Ecomsur 2021

Por favor, empezar la prueba después de haber leído este documento completo.

Requerimientos mínimos

Node 14.15.0

Instalar y Correr la aplicación

Instalar API (backend) y la aplicacion React (front):

  1. En la carpeta root de la aplicacion correr: npm install
  2. Navega al directorio front y vuelve a correr el comando: npm install
  3. Regresa al directorio root cd ...

La aplicación está compuesta de un servidor Express y una instalación básica de Create-React-App (CRA). Todo está configurado para correr con un solo comando

npm run dev

Esto correrá ambas aplicaciones (Express y CRA) al mismo tiempo.

  • CRA se encuentra en: http://localhost:3000/ y se ve de la siguiente forma: Running app

  • El servidor se encuentra en: http://localhost:5000/

  • La lista de productos se encuentra: http://localhost:5000/api/products

  • Puedes encontrar cada producto por su ID: http://localhost:5000/api/products/1

  • Las imágenes se encuentran en:| http://localhost:5000/images/{{nombre-de-la-imagen}}

Descripción de la prueba

Se requiere implementar un carrito de compras simple que traiga toda la info del API local, éste debe contar con las siguientes secciones:

  • Una lista de ítems mostrando el catálogo de productos. (Product List Page)
  • Página de producto mostrando detalle de producto. (Product Display Page)
  • Un carrito de compras que tenga todos los ítems que serán comprados por el usuario. (Cart Page)
  • Espacio donde se muestre la sincronización de los ítems añadidos al carrito. (Mini cart) mini cart example

Favor de no utilizar "CSS frameworks" como Bootstrap, MUI, Semantic UI, etc. Parte importante de la prueba es ver tu uso de CSS. No es necesario que la prueba tenga un diseño muy complejo, estamos evaluando funcionalidad, no diseño ni uso de colores. Puedes instalar cualquier Libreria NPM que gustes para facilitar el desarrollo (Axios para llamadas al API, Modals, transiciones, etc..)

Las reglas del negocio son:

  • Cada ítem del catálogo debe tener un action button con el texto Add item to cart.
  • Si no hay stock el action button debe deshabilitarse
  • Cada ítem en el carro debe tener un action button para remover el ítem del carro.
  • Los items en el carrito se deben de agrupar mostrando cantidad de cada producto añadido.

Puntos extras:

  • Mostrar el rating y número de reviews en el PLP y PDP
  • Usar Redux para mantener el estado global.
  • Mantener info de ítems en carrito al recargar la página

Notas

  • Recuerda la filosofía "Mobile-First Responsive Design".
  • Piensa en otras tiendas en linea que hayas usado. El publico final no es necesariamente alguien muy tecnico.
  • Si no utilizas el API local tu prueba será descartada.

Reglas de entrega

  1. Documenta la resolución de tu problema en un un archivo BITACORA.md, además, indica detalladamente cómo instalar las dependencias o archivos necesarios para correr tu aplicación.

  2. Es necesario que garantices que tu aplicación pueda correr en la máquina de otra persona.

  3. Sube tu respuesta a un repositorio en una cuenta tuya de GitHub, GitLab o BitBucket y da acceso a [email protected] y posiblemente a otros correos que te pida RRHH

¡Mucho éxito! 💪

ecomsur-desafio's People

Contributors

darukbyte avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.