This is the TypeScript version of the Lendo Shopping Cart exercise. View demo
For the full explanation, see the original project. This repository covers only the new additions.
- Install PNPM:
npm install -g pnpm
. - Install dependencies:
pnpm install
(notice the P) - Run the project:
npm run dev
- Use
ReduxZustand instead of ContextAPI to see if it reduces unncecerary re-renders. - Add end to end test with Playwright.
- Migrated to TypeScript.
- Add an enhanced add to cart feature.
- Add Testing Library Test to Product page to hanlde products with no variant.
- Improve
<CartItem>
userfulness by mentioning the selected color and variant. - Create a new, enhanced Product page to avoid
useEffect()
- Improve
<InputRadio>
for variants by using proposed design in Sketch. - Improve
<CartItem>
design by putting the quantiy next to the text, instead of below on desktop as there is space on the side. - Improve
<QuantityChooser>
by adding an input number. - Add Biome linter.
- Add state to input radio fixture.
- Add Checkout fixture page.
- Create custom toast notification to reduce dependencies: I changed my mind, the library is only 5kb and it has the feature of stacking multiple notifications. Ideal for the Checkout page where you can remove multiple items at the same time.