Skip to content

AbdallaAlhag/Asos-Shop-App

Repository files navigation

Asos Shop

This project is a React-based web application that replicates the core functionalities of the ASOS online shopping platform.

Designed for users who want to browse, search, and save products, the app provides a streamlined shopping experience with features like item search, product details, and a save-for-later option.

It's ideal for anyone looking to explore or purchase items similar to the ASOS inventory, with an interface that emphasizes usability and smooth navigation.

Features

  • Product Search & Filtering: Easily search and filter products by categories, brands, and more.

  • Product Details: View detailed information about each product, including images, descriptions, and pricing.

  • Save for Later: Save your favorite items for later viewing or purchase with a custom heart button.

  • Seamless Navigation: Smooth navigation with React Router, allowing users to browse different sections of the app efficiently.

  • Zoom Feature: Zoom in on product images for a closer look, with smooth cursor interaction.

Tech Stack

Client: React, React Router, Styled-Components, vite, Mo.js

Server: Netlify

APIs Used

  • ASOS API:
    • ASOS Crawler API - For accessing product data.
    • ASOS Product Details API - For fetching detailed product information.

Tools & libraries

  • UI & Icons:

    • Pictogrammers Icons - Easy-to-use icons integrated with React.
    • @emotion/react & @emotion/styled: Emotion's React-based styling solution, for writing CSS styles with JavaScript.
    • @mui/material & @mui/icons-material: Material-UI components and icons for building consistent, modern UIs.
    • styled-components: A popular library for styling React components using tagged template literals.
    • react-bootstrap: Bootstrap components as React components.
    • react-icons: A collection of popular icons for React.
    • react-responsive-carousel: A responsive carousel component for React.
    • react-slick & slick-carousel: Carousel components for React with extensive customization options.
  • Animation & Effects:

    • @mojs/core: A powerful motion graphics library.
    • canvas-confetti: A lightweight library for creating confetti animations.
    • framer-motion: A library for animations and gestures in React.
  • State Management & Miscellaneous:

    • react-lazyload: For lazy-loading React components and images.
    • prop-types: For type-checking React props.
  • Routing:

    • react-router-dom: The standard routing library for React applications.
  • React Libraries:

    • Skeleton React - To be incorporated.
    • React Slick - Carousel component with navigation.
    • Material UI Accordion - For collapsible content panels.
    • React Bootstrap Dropdowns - Dropdown menus for React.
    • Floating UI - Tooltips and popovers.
  • Custom Components:

Areas for improvement

  • Error Handling:
    • Replace the default alert prompting users to select a size with a custom error message.
  • Responsive Design:
    • Add media queries to improve responsiveness across different screen sizes.

Advice for future projects - Avoid using outdated or poorly maintained npm packages in future projects to minimize customization effort and improve performance.# React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

License

MIT

About

Front End Asos website recreated using React

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published