An interactive concept e-commerce platform for sneaker lovers β offering a playful user experience with randomized product displays, dynamic size selection, and a functional shopping cart system.
π Visit Live Site
(Best viewed on desktop or larger screens)
Sneakers Vault is a frontend e-commerce prototype that simulates the experience of browsing and purchasing sneakers. It emphasizes dynamic product rendering, randomized size generation, and interactive UI features to provide a more engaging user experience.
This project was built to showcase frontend skills in JavaScript, CSS, and DOM manipulation, and is part of my professional portfolio.
π² Randomized Product Cards
Each visit generates a new set of sneaker cards with varied sizes and gender categories.
π Size Selector
Users must select a size before adding a product to the cart, with visual validation and feedback.
+
and β
buttonsπΆ Support for Men, Women & Kids Sizes
Products are labeled according to gender and associated with valid size ranges.
π¬ Feedback Messages
Real-time alerts guide the user experience (e.g. missing size, item added to cart).
index.html
)Displays:
cart.html
)Includes:
Cart data is stored in memory (no persistent storage). On reload, contents reset.
Technology | Description |
---|---|
HTML5 | Semantic structure of the UI |
CSS3 | Custom styling and responsive layout |
Vanilla JavaScript | Dynamic DOM updates, cart logic, random generators |
GitHub Pages | Deployment and live demo hosting |
sneakers-vault/ βββ assets/ β βββ css/ β β βββ styles.css # Styling and layout β βββ js/ β β βββ main.js # Homepage logic (product cards, size selection, add to cart) β β βββ cart.js # Cart page logic (quantity, remove, UI updates) β β βββ utils.js # Helper functions (random generators, size arrays, etc.) β βββ images/ # Product images, logos, screenshots βββ index.html # Home page with product listing βββ cart.html # Cart page with selected items βββ README.md # Project documentation
To run the project locally on your machine:
git clone https://github.com/alelodato/sneakers-vault.git
All testing has been performed manually. Below are the test cases covered:
Test Case | Expected Behavior | Status |
---|---|---|
Home loads with random sneakers each time | Products are randomized on each page load | β |
Click βAdd to Cartβ without selecting size | Block action + show alert message | β |
Select size then click βAdd to Cartβ | Product is added to cart | β |
Navigate to Cart page | Cart displays added products with correct data | β |
Change quantity with β+β and βββ buttons | Quantity updates immediately in cart | β |
Remove product from cart | Product disappears from cart | β |
Reload home page | Different set of products and sizes appears | β |
Cart resets on page refresh | Cart is emptied (no persistent storage) | β |
Responsive on mobile | Layout adjusts and remains functional | β |
Error handling (e.g. no size selected) | Friendly alert shown to the user | β |
https://sneakers-vault-jet.vercel.app/
An interactive concept e-commerce platform for sneaker lovers β offering a playful user experience with randomized product displays, dynamic size selection, and a functional shopping cart system.
π Visit Live Site
(Best viewed on desktop or larger screens)
Sneakers Vault is a frontend e-commerce prototype that simulates the experience of browsing and purchasing sneakers. It emphasizes dynamic product rendering, randomized size generation, and interactive UI features to provide a more engaging user experience.
This project was built to showcase frontend skills in JavaScript, CSS, and DOM manipulation, and is part of my professional portfolio.
π² Randomized Product Cards
Each visit generates a new set of sneaker cards with varied sizes and gender categories.
π Size Selector
Users must select a size before adding a product to the cart, with visual validation and feedback.
+
and β
buttonsπΆ Support for Men, Women & Kids Sizes
Products are labeled according to gender and associated with valid size ranges.
π¬ Feedback Messages
Real-time alerts guide the user experience (e.g. missing size, item added to cart).
index.html
)Displays:
cart.html
)Includes:
Cart data is stored in memory (no persistent storage). On reload, contents reset.
Technology | Description |
---|---|
HTML5 | Semantic structure of the UI |
CSS3 | Custom styling and responsive layout |
Vanilla JavaScript | Dynamic DOM updates, cart logic, random generators |
GitHub Pages | Deployment and live demo hosting |
sneakers-vault/ βββ assets/ β βββ css/ β β βββ styles.css # Styling and layout β βββ js/ β β βββ main.js # Homepage logic (product cards, size selection, add to cart) β β βββ cart.js # Cart page logic (quantity, remove, UI updates) β β βββ utils.js # Helper functions (random generators, size arrays, etc.) β βββ images/ # Product images, logos, screenshots βββ index.html # Home page with product listing βββ cart.html # Cart page with selected items βββ README.md # Project documentation
To run the project locally on your machine:
git clone https://github.com/alelodato/sneakers-vault.git
All testing has been performed manually. Below are the test cases covered:
Test Case | Expected Behavior | Status |
---|---|---|
Home loads with random sneakers each time | Products are randomized on each page load | β |
Click βAdd to Cartβ without selecting size | Block action + show alert message | β |
Select size then click βAdd to Cartβ | Product is added to cart | β |
Navigate to Cart page | Cart displays added products with correct data | β |
Change quantity with β+β and βββ buttons | Quantity updates immediately in cart | β |
Remove product from cart | Product disappears from cart | β |
Reload home page | Different set of products and sizes appears | β |
Cart resets on page refresh | Cart is emptied (no persistent storage) | β |
Responsive on mobile | Layout adjusts and remains functional | β |
Error handling (e.g. no size selected) | Friendly alert shown to the user | β |