GithubHelp home page GithubHelp logo

xvferdy / fem-ecommerce-product-page Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 1.83 MB

Ecommerce product page || Frontend Mentor ๐Ÿฅ‡ INTERMEDIATE...

Home Page: https://ecommerce-product-page-xvferdy.netlify.app/

HTML 3.95% JavaScript 55.99% SCSS 40.06%
sass chalenge react

fem-ecommerce-product-page's Introduction

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

fem-ecommerce-product-page's People

Contributors

xvferdy avatar

Stargazers

 avatar

Watchers

 avatar  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.