Justyle
Fashion e-commerce app — cart, wishlist, filters, auth, checkout.
The problem
Wanted to learn real e-commerce architecture without getting stuck on backend plumbing — cart state, filtering logic, and checkout flow are where the interesting product work lives.
What I built
A fully responsive lifestyle and fashion e-commerce frontend with product listings, filters, wishlist, cart, and a basic checkout flow.
- Product listing with multi-filter (price, category, rating) and sort
- Product detail pages with image gallery and variant selection
- Wishlist and cart powered by Context + Reducer
- Checkout flow with address management and order summary
- Auth integration against MockBee's mock API service
Tech decisions worth mentioning
Stuck with Context + useReducer instead of Redux for this one — the state is cleanly split (cart, wishlist, auth) and the reducer pattern is enough when actions don't cross domains.
What I learned
Filtering and sorting shouldn't live on every list component — I refactored halfway through into a single `useProductFilters` hook and the code got way cleaner.
What I'd do differently
Replace MockBee with a real Node + Mongo backend so the auth flow is actually meaningful, and add URL-synced filter state so shared links preserve what the user was looking at.