Amazon Clone
A multi-page Amazon-style store with product search, a persistent cart, checkout with delivery options, order history, and package tracking.

About this project
A multi-page clone of the Amazon shopping experience, built with plain JavaScript ES modules. It covers the full flow from browsing products to tracking a delivered order, with data loaded from a remote API.
Key features:
- Products loaded from a remote API with async/await, and orders placed with a POST request
- Search by product name or keyword from any page, by button or the Enter key
- Cart saved in localStorage, with quantity merging, inline quantity editing, and item removal
- Delivery options with dates calculated using Day.js, skipping weekends
- Order history with "Buy it again", and a tracking page with a delivery progress bar
- Responsive layout across all pages
Engineering:
- Object-oriented product model with Product, Clothing, and Appliance classes using inheritance
- Data modules kept separate from rendering modules
- 25 Jasmine unit tests covering currency formatting, cart logic (with localStorage spies), product classes, and DOM rendering of the order summary