Este repositorio contiene mi solución al challenge de frontend de Wallbit, propuesto por Goncy.
✨ Demo ✨
La API que nos dió nuestro cliente es: Fake Store API. El cliente nos dijo que su stack de frontend es React, que prefiere el challenge hecho con eso, pero está abierto a cualquier stack que quieras usar.
- Podemos agregar productos al carrito.
- Manejar errores que nos devuelva la API.
- Mostrar una lista con los productos agregados incluyendo
title,priceeimagedel producto y lacantidadque el usuario agregó.
- El carrito se persiste al recargar la página.
- Mostrar el total de productos agregados.
- Mostrar el costo total del carrito.
- Mostrar la fecha de creación del carrito.
Aproveché este challenge como una oportunidad para aprender SvelteKit, saliendo de mi zona de confort en React. Durante el desarrollo, tomé las siguientes decisiones:
-
Arquitectura de Componentes: Busqué un equilibrio en la componentización. Creé componentes reutilizables de UI como
Button,InputyCard. A a la vez dividí la página en componentes más pequeños por organización. -
Feedback al Usuario: Para mejorar la experiencia, implementé notificaciones (toasts) que dan feedback visual al agregar o eliminar productos. Para gestionarlas, creé un
writable storede Svelte, lo que me permitió manejar su estado de forma global sin necesidad de librerías externas. -
Diseño y Jerarquía Visual: Utilicé una combinación de dos fuentes para organizar la información:
Outfitpara los títulos de sección yPlus Jakarta Sanspara el resto de la interfaz, priorizando la legibilidad.
- Framework: SvelteKit
- Lenguajes: TypeScript, HTML, CSS
-
Clonar el repositorio:
git clone https://github.com/nicovio/wallbit-challenge.git cd wallbit-challenge -
Establecer la versión de Node.js: El proyecto incluye un archivo
.nvmrc. Si tenés nvm instalado, podés usarlo con:nvm use
-
Instalar dependencias: El gestor de paquetes recomendado es
pnpm, pero podés usar el que prefieras.pnpm install
npm install
yarn install
-
Ejecutar el servidor de desarrollo:
pnpm dev
npm run dev
yarn dev
La aplicación estará disponible en http://localhost:5173.
- A Goncy por su contenido y por difundir este challenge.
