Skip to content

xvferdy/fem-ecommerce-product-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

E-commerce product page

πŸ”– This is a solution to the E-commerce product page challenge on Frontend Mentor.

🌈 ✨ πŸŽ‰ Have Fun Building! πŸš€ 🎊 🎈

πŸ–₯️ Welcome
Thanks for checking out this front-end coding challenge. Frontend Mentor challenges help you improve your coding skills by building realistic projects. To do this challenge, you need a good understanding of HTML, CSS and JavaScript. Press Enter πŸš€ to start the game!!

πŸ₯· Table of Contents

Brief

In this challenge, you'll build a beautiful product page. We'll be putting your JS skills to the test with a lightbox product gallery and cart functionality!

Your challenge is to build out this e-commerce product page and get it looking as close to the design as possible. You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go πŸ‘.

Preview πŸ‘“

Design preview for the Loopstudios landing page coding challenge

The challenge

Users should be able to:

Challenge Newbie Junior Intermediate Advanced
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 β­•

🐬 Intermediate Difficulty List

Links

My process

βŒ› I challenge my self to finish this for ~5 days
▐
πŸ§‘β€πŸ’» Day 1. Studying the design ~4 hours
▐ Sass boilerplate
▐ Import Frontend Mentor style guide
▐ HTML content and tags placement
▐
πŸ§‘β€πŸ’» Day 2. Web layouting, mostly working with Sass
▐ Navbar ~2.5 hours
▐ Main content (product images and information) ~2.5 hours
▐ Responsive design ~4 hours
▐ Sidebar & Cart pop-out ~3 hours
▐ Lightbox design ~2.5 hours
▐
😭 Day 3. Working with React
▐ Continuing Lightbox design ~2 hours
▐ Lightbox & showcase images state ~1.5 hours
▐ Cart state ~7.5 hours
▐ Styling Cart's badge & Cart's backdrop ~3 hours
▐ Make hooks for Lightbox and image showcase ~1.5 hours
▐
⛱️ Day 4. Not doing any coding
▐
🌐 Day 5. Add little animation and submit solution to Frontend Mentor 🚩
▐ Sidebar ~0.5 hours
▐ Lightbox & image showcase ~3 hours
▐ Cart ~1.5 day
▐ Try to deploy & submit the solution
▐
πŸ—“οΈ Day 6 and forward. Continuing unfinished task
▐ Work with ngrok later
▐ Update README.md
▐ See other people solution and copy the css code
▐ Fix animation issue
▐
πŸ—“οΈ

Built with

What I learned πŸ₯³

β˜‘οΈ Prevent for showing leading zero after typing some number inside input

The value={input.toString() prevent us for showing leading zero after typing some number

src/pages/Home.js
<input type="number" value={input.toString()} onChange={change} />
β˜‘οΈ Hide input slider

Hide HTML <input/> slider

src/stylesheets/pages/_home.scss
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
}
β˜‘οΈ Respect deadlines

Should have left some extra time for testing the production sites and write some documentation

Difficult Things πŸ˜“

Things were difficult for me and I finally gave up πŸ˜“πŸ˜“

  • HTML5 Semantic
  • Not know how to positioning the icon
  • Not know how to work with <svg/>
  • Can't use some css library for image slider
  • Buggy z-index for button
  • Not writing a clean CSS code
  • Fail to implement reset input after clicking 'Add to cart'

Author

xvferdy
Berlianto

Acknowledgments

About

Ecommerce product page || Frontend Mentor πŸ₯‡ INTERMEDIATE...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published