Code Monkey home page Code Monkey logo

ecommerce-product-page's Introduction

Frontend Mentor - E-commerce product page solution

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.

Table of contents

Overview

The challenge

Users should be able to:

  • 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 thumbnail images
  • Switch the large product image using a slider
  • Add items to the cart
  • View the cart and remove items from it

Extended Tasks: In addition to the initial project requirements, I have completed the following extended tasks:

  • Created the Home, Men, Women, About, and Contact pages.
  • On the Men and Women pages, added a sorting feature for the models.
  • Added another color to the buttons, considering the rotation aspect.
  • Created pages for each model on the Men and Women pages.
  • Added the Back to Top feature.

Screenshots

Home Page

Desktop View:
Home Page Desktop
The main landing page on desktop, showcasing navigation and featured products.
Mobile View:
Home Page Mobile
The main landing page on mobile, demonstrating responsive design.

Women’s Product Page

Desktop View:
Women’s Product Page Desktop
The Women’s product page with sorting feature on desktop.
Mobile View:
Women’s Product Page Mobile
The Women’s product page with sorting feature on mobile.

Product Details Page

Desktop View:
Product Details Desktop
Detailed view of a product on desktop.
Mobile View:
Product Details Mobile View
Detailed view of a product on mobile.

Lightbox Gallery

Lightbox Gallery (Desktop):
Lightbox Gallery Desktop
The lightbox gallery opened by clicking on the thumbnail images on desktop.

Cart Functionality

Cart (Desktop):
Cart Desktop
View of the cart showing items added and the option to remove them.

About Page

Desktop View:
About Page Desktop
The About page on desktop, providing company information.

Contact Page

Mobile View:
Contact Page Mobile
Focused view of the contact form on the Contact page.

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • Vanilla JavaScript
  • BEM (Block Element Modifier) naming convention for classes
  • Lighthouse for performance and accessibility

What I learned

Through this project, I have developed my ability to:

  • Build a lightbox gallery feature that activates when images are clicked.
  • Implement a slider to cycle through large product images.
  • Enable users to add products to their shopping cart.
  • Develop a shopping cart interface that displays selected items and allows for their removal.

Additionally, I tackled some extended tasks:

  • Implemented a feature to sort products on the Men and Women pages.
  • Developed detailed product pages for individual items on the Men and Women pages.
  • Added a "Back to Top" button for improved navigation.

Continued development

Looking ahead, I am excited to build another e-commerce project using React. In this future project, I plan to:

  • Add size options for products, along with a size chart for users to consult.
  • Implement a "heart" favorite feature to allow users to save their favorite items.
  • Include a slider for product models that lets users preview different models before accessing their details.

I am eager to apply what I've learned and expand on these features to create a more interactive and user-friendly shopping experience.

Useful resources

  • Lighthouse Documentation - This documentation was crucial for optimizing the performance and accessibility of the site. It guided me through using Lighthouse for auditing and improving various aspects of the project.

  • BEM Methodology - This resource helped me learn and implement the BEM (Block Element Modifier) naming convention for my CSS classes. It made my code more readable and maintainable, and I plan to continue using this methodology in future projects.

  • W3Schools - JavaScript Array sort() - This resource was extremely helpful for implementing the sorting feature for products on the Men and Women pages. The examples and explanations provided a clear understanding of how to use the sort() method effectively.

Author

ecommerce-product-page's People

Contributors

doileo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.