This is a solution to the E-commerce product page challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
- View the optimal layout for the site depending on their device's screen size
- See hover states for all interactive elements on the page
- Open a lightbox gallery by clicking on the large product image
- Switch the large product image by clicking on the small thumbnail images
- Add items to the cart
- View the cart and remove items from it
Features
- Auto re-aligned modal position based on trigger
- Interactive image slider
Accessibility
- Responsive accross different screen sizes
- Interactive elements have clear focus indicator
- HTML5 – Semantic structure
- SolidJS – Fine-grained state management reactivity
- TailwindCSS – Utility-first CSS for fast development
- TypeScript - Interactivity and application logic
- Vite - Fast development server, production build and easy configuration
- EmblaCarousel - Minimal API, small package
- Mobile-first workflow for better performance on smaller devices
- Accessibility guided by ARIA Authoring Practices Guide (APG)
Install the following:
- Git (latest version)
- Node.js (latest LTS recommended)
- pnpm (latest version)
git clone https://github.com/haquanq-frontendmentor/ecommerce-product-page.git
cd ecommerce-product-page
pnpm install
pnpm dev
Deployed to Github Pages via Github Actions (manually triggered)