Audiophile e-commerce website
This huge e-commerce challenge will provide an incredible test for your front-end skills. Once you're done, you'll have an amazing project to add to your portfolio!
- Sketch and Figma design files
- Mobile, tablet & desktop layouts
- Professional design system for colors, fonts, etc
- Optimized image assets
- README file to help you get started
- HTML file with pre-written content
Your challenge is to build out this multi-page e-commerce website 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.
If you choose to use a JS-heavy approach, we provide a local
data.json file for the products. If you want to take it up a notch, feel free to build this as a full-stack application or use a headless CMS!
Your users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Add/Remove products from the cart
- Edit product quantities in the cart
- Fill in all fields in the checkout
- Receive form validations if fields are missed or incorrect during checkout
- See correct checkout totals depending on the products in the cart
- Shipping always adds $50 to the order
- VAT is calculated as 20% of the product total, excluding shipping
- See an order confirmation modal after checking out with an order summary
- Bonus: Keep track of what's in the cart, even after refreshing the browser (
localStoragecould be used for this if you're not building out a full-stack app)
Download the project and go through the
README.md file. This will provide further details about the project and help you get set up.
Want some support on the challenge? Join our Slack community and ask questions in the help channel.
Download the starter code
Set up the project with version control (e.g. Git)
README.mdfile and have a look around the project
Get colors, fonts, etc from the design system in the design file
Set up your project/file architecture however you want
Ideas to test yourself
Build the project out as a full-stack application
Train your eye for detail by getting your solution as close to the design as you can
Try estimating the time it will take for you to build the project. Then see if the time taken matches up to your estimate. Project estimations are a skill that is often overlooked, but is important for professional developers
Can I use libraries/frameworks on these projects?
Yes! Our challenges provide professional designs but there are no rules on what tools to use. So feel free to use anything you like to build your projects.
How can I get help if I'm stuck on a challenge?
The best (and quickest) way to get help on a challenge is in our Slack community. There are thousands of other developers in there, so it's a great place to ask questions. We even have a dedicated "help" channel! If you haven't joined yet, you can get an invite to our Slack community here.
Can I use these projects in my portfolio?
Definitely! Please do feel free to use whatever you build in your portfolio. Helping developers add professional-looking projects to their portfolio was one of the reasons we created this platform!
Is there an official solution I can take a look at?
We don't provide "official" solutions for the challenges. This is because there is no single perfect way to complete a challenge. Instead, you're encouraged to review other people's code in the community. You can learn so much by seeing how other people have approached the same challenges and giving them feedback.
Do I get a code review when I post my solution?
Frontend Mentor is a collaborative learning community where everyone can give feedback to each other. If you'd like to receive feedback from the community, please be sure to post a question when you submit your solution. The more specific you can be, the better. Being clear with your questions means you're much more likely to receive valuable feedback from others.
How do I submit my solution?
We'd recommend reading our complete guide to submitting solutions. If you get stuck and need help, please feel free to ask questions in our Slack community, and we'll help you submit your project.