This is a solution to the Audiophile e-commerce website challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Add/Remove products from the cart
- Edit product quantities in the cart
- Fill in all fields in the checkout
- Receive form validations if fields are missed or incorrect during checkout
- See correct checkout totals depending on the products in the cart
- Shipping always adds $50 to the order
- VAT is calculated as 20% of the product total, excluding shipping
- See an order confirmation modal after checking out with an order summary
- Bonus: Keep track of what's in the cart, even after refreshing the browser (
localStorage
could be used for this if you're not building out a full-stack app)
- Next.js - A React framework used for production
- tailwindcss - For styling
- React DOM APIs - I utilize the the createPortal() function for rendering my modal
- React Hook Form - For managing form state and validation efficiently
- React Transition Group - Creating animations when mounting and unmounting components
- Zustand - For managing state in a predictable and efficient manner and storing data locally.
- Set up user login: Let users sign up for an account to see their shopping cart on any device.
- Clean up code: Improve the code structure and organization. There's a lot of repetitive code that needs to be simplified and organized better.
Documentations are good enough to help me start, but I also gotta shout out some awesome websites and communities that have been a big help.
- Frontend Mentor - @CarlosSimon02
- Linkedin - @carlossimon02