Skip to content

ebrahimbeiati/online-shopping

Repository files navigation

🛍️ ShopHub - Modern Online Shopping Platform

🌐 GitHub Repository: https://github.com/ebrahimbeiati/online-shopping.git

A modern e-commerce platform built with Next.js 14, TypeScript, and Tailwind CSS, featuring a beautiful design, wishlist functionality, and seamless user experience.

GitHub stars GitHub forks


✨ Features

  • Modern UI - Beautiful glassmorphism design with Tailwind CSS
  • Product Catalog - 25+ products across 4 categories
  • Smart Search - Debounced real-time product filtering
  • Wishlist System - Save products for later
  • Shopping Cart - Persistent cart with real-time updates
  • User Authentication - Firebase integration with protected routes
  • Payment Processing - Multiple payment methods
  • Responsive Design - Works on all devices
  • Performance Optimized - React.memo, debounced search, skeleton loaders
  • Accessibility - ARIA labels, keyboard navigation, focus management
  • Error Handling - Error boundaries and graceful fallbacks
  • Security - Authentication-required checkout and cart operations

🚀 Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript
  • Styling: Tailwind CSS with custom animations
  • State Management: Zustand with persistence
  • Backend: Firebase (Auth, Firestore)
  • Icons: Heroicons
  • Performance: React.memo, debounced search, skeleton loaders
  • Testing: Vitest + React Testing Library
  • Error Handling: Error boundaries and performance monitoring

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/ebrahimbeiati/online-shopping.git
    cd online-shopping
  2. Install dependencies

    npm install
  3. Run the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:3000


📱 Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run type-check - Run TypeScript type checking

🧪 Testing

The project includes comprehensive testing setup:

  • Unit Tests: Component testing with Vitest + React Testing Library
  • Type Checking: Full TypeScript validation
  • Linting: ESLint for code quality
  • Performance Monitoring: Custom hooks for tracking component performance

🚀 Performance Features

  • React.memo: Prevents unnecessary re-renders
  • Debounced Search: Optimized search with 300ms delay
  • Skeleton Loaders: Smooth loading states
  • Error Boundaries: Graceful error handling
  • Accessibility: ARIA labels and keyboard navigation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

📄 License

This project is licensed under the MIT License.


Built with ❤️ by Ebrahim Beiati

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors