Overview
A vanilla web e-commerce app for a fictional shoe store. Includes a product catalogue, filter by category, add-to-cart functionality with a running total, and a checkout summary. No frameworks, just HTML, CSS, and JavaScript.
Problem
The constraint was no frameworks. Building cart state, DOM updates, and page transitions in vanilla JS forces you to understand exactly what React and similar tools are abstracting away.
Solution
Cart state is held in a plain JavaScript object and persisted to localStorage. Product data is stored as a JS array and rendered into the DOM on page load. Event delegation handles clicks on dynamically rendered elements without attaching hundreds of listeners.