Skip to content

Frontend-Mentor Challenge: Audiophile-E-Commerce-Website. Strona w charakterze sklepu e-commerce, pozwala na możliwości zakupu produktów. Użytkownik rejestrując się ma możliwość dodawania, edycji i usuwania produktów z koszyka. Dane są przechowywane w bazie danych, więc nawet gdy użytkownik nie sfinalizuje zakupu, może go później kontynuuować.

Notifications You must be signed in to change notification settings

PioKl/Audiophile-E-Commerce-Website

Repository files navigation

Frontend Mentor - Audiophile e-commerce website

This is a solution to the Audiophile e-commerce website 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 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 (localStorage could be used for this if you're not building out a full-stack app)

Screenshot

mobile tablet desktop

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • Next.js - React Framework
  • React - JS library
  • Typescript - JS syntax
  • Axios - Promise based HTTP client for the browser and node.js
  • SVGR - Transform SVGs into React components
  • MUI - Material UI, React UI framework
  • React Toastify - A lightweight, customizable React library for displaying toast notifications in web applications
  • Body-Scroll-Lock - Enables body scroll locking (for iOS Mobile and Tablet, Android, desktop Safari/Chrome/Firefox) without breaking scrolling of a target element (eg. modal/lightbox/flyouts/nav-menus).
  • Motion - A robust animation library for modern web projects using JavaScript, React, or Vue.

What I learned

Practice with: Next and React(hooks, custom hooks, useEffect, routing, navigation with next, modals, mui modals, reusable components, transforming svg into component, usage of Image in next) and Typescript(generally and types/interface), grid, flex.

Useful resources

Author

About

Frontend-Mentor Challenge: Audiophile-E-Commerce-Website. Strona w charakterze sklepu e-commerce, pozwala na możliwości zakupu produktów. Użytkownik rejestrując się ma możliwość dodawania, edycji i usuwania produktów z koszyka. Dane są przechowywane w bazie danych, więc nawet gdy użytkownik nie sfinalizuje zakupu, może go później kontynuuować.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published