Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

E-commerce product page (No Framework / Vanilla JS)

Kรฉvin Burleโ€ข 370

@kevinburle

Desktop design screenshot for the E-commerce product page coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
3intermediate
View challenge

Design comparison


SolutionDesign

Solution retrospective


Hello everyone,

I wanted to make this product page as dynamic as possible so I added some features to the challenge:

1.Display one or more products dynamically 2.Modify the products data by the data.js file 3.Calculate the height of the cart dynamically according to the number of items 4.Open the cart after adding a product 5.Close the cart after a certain time after adding a product 6.Application works the same way with one or more products

to make it simple, the data of the products and the number of displayed products can be modified from the data.js file without changing the functionality.

Let me know your opinion!

Community feedback

Jo89 ๐Ÿ˜ˆโ€ข 380

@AhmadYousif89

Posted

Hey Kevin ๐Ÿ‘‹

Your solution looks awesome ๐Ÿ‘. but I believe it has more room for improvement, and these are some suggestions you might find helpful.

  • I like the idea of having more products to display, however, this page is considered for a single product display and not to showcase all available products. therefore, it would be much better if you make a dynamic route for each product depending on its id so that each product will have its page that showcases its details.

  • for the side menu on mobile devices I see a fake backdrop overlay but why ๐Ÿค” it would be better if there is a real backdrop that closes the menu when clicked because as of now I can interact with the elements in the background and ofc that's not good. for example, while I'm opening the menu I can add items to the cart!

  • I see you have a backdrop overlay when opening the lightbox, but unfortunately, it doesn't serve its normal function which is closing the modal.

  • the main image is still clickable on small devices even though the lightbox is disabled and I can't see it.

  • it would be nice if the user can click anywhere to close the cart menu (I notice that opening the side menu also closes it).

  • this is a personal preference thing, but I would rather have a message telling me that the item was added to the cart (maybe under the "add to cart" button) rather than opening the cart and then closing it after a short period of time.

  • I know that this's just a dummy app, but the discount value from the original price after calculating the discount rate doesn't make sense ๐Ÿ˜…

I hope you find my feedback helpful. Have a nice day ๐Ÿ‘‹

Marked as helpful

1

Kรฉvin Burleโ€ข 370

@kevinburle

Posted

Hi @AhmadYousif89,

Thank you for taking the time to leave me a very constructive and helpful feedback ๐Ÿ‘.

For the first suggestion you gave me above, it's true I also thought that it's a product page and that several products had nothing to do on it but I wanted to 'imagine' that this page be used as a component in a home page for example with 2 or 3 products displayed that can be added quickly to the cart..But the idea of a dynamic route with ID is much more appropriate in this case.

I'll try to come back on the project by implementing your suggestions and UX issues.

Have a nice day ๐Ÿ‘‹

1
P
Shane Chaffeโ€ข 900

@Chaffexd

Posted

Hi,

This is a slick project! I really like it!

I have one piece of feedback that initially made me as a user happy, when I added the first shoe to the cart I saw the basket update and drop down, that was pretty neat. But when I done this for another shoe, I didn't see it. I.e. if you scroll down, you no longer see it - I think it would be super useful for the user to see either the navbar cart icon increment or that drop down window present when you scroll so the user can track their cart when they add. I think that makes for a positive user experience rather than scrolling back to the top to check again.

Other than that, kudos! Amazing use of vanilla JS!

Marked as helpful

1

Kรฉvin Burleโ€ข 370

@kevinburle

Posted

Hey @Chaffexd,

Thank you for your comment and the helpful feedback ๐Ÿ‘ Indeed I need to update the project to fix all the small (or big ๐Ÿ˜…) problems related to the UX. But it's worth it because the project implements quite interesting concepts

Have a nice day ๐Ÿ‘‹

0

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord