A modern, responsive e-commerce website built with React, TypeScript, and Tailwind CSS v4. This project showcases a clean product page design with an interactive image gallery, shopping cart functionality, and mobile-first responsive design.
- Interactive Product Gallery - High-quality image viewer with thumbnail navigation and lightbox modal
- Shopping Cart - Add/remove items with real-time quantity updates and price calculations
- Responsive Design - Optimized for desktop, tablet, and mobile devices
- Modern UI Components - Built with Radix UI primitives and custom styling
- TypeScript Support - Full type safety throughout the application
- Performance Optimized - Fast loading with Vite bundler and optimized assets
- Frontend Framework: React 18 with TypeScript
- Styling: Tailwind CSS v4
- Build Tool: Vite
- UI Components: Radix UI primitives
- Icons: Lucide React
- State Management: React hooks (useState, useCallback)
- Image Handling: SVG assets with Vite optimization
-
Clone the repository
git clone <your-repo-url> cd sneakers-ecommerce
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173to view the application
src/
├── components/ # Reusable UI components
│ ├── ui/ # Base UI components (buttons, cards, etc.)
│ ├── Header.tsx # Navigation header with cart
│ ├── ProductGallery.tsx # Image gallery component
│ ├── ProductDetails.tsx # Product info and purchase controls
│ ├── CartDropdown.tsx # Shopping cart dropdown
│ └── MobileMenu.tsx # Mobile navigation menu
├── hooks/ # Custom React hooks
│ └── useCart.ts # Shopping cart state management
├── types/ # TypeScript type definitions
│ └── index.ts # Product and cart interfaces
├── data/ # Mock data and constants
│ └── productData.ts # Product information
├── assets/ # Static assets (images, icons)
├── lib/ # Utility functions
└── App.tsx # Main application component
- Thumbnail Navigation - Click thumbnails to switch main image
- Lightbox Modal - Full-screen image viewing with keyboard navigation
- Hover Effects - Smooth transitions and visual feedback
- Responsive Layout - Adapts to different screen sizes
- Real-time Updates - Instant quantity and price calculations
- Persistent State - Cart contents maintained during session
- Visual Feedback - Item counter badge and smooth animations
- Empty State - Clean messaging when cart is empty
- Touch-friendly - Optimized for mobile interactions
- Slide-out Menu - Clean navigation for smaller screens
- Responsive Images - Properly scaled for mobile viewing
- Performance - Fast loading on mobile networks
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Custom hook managing shopping cart state with the following features:
- Add/remove items
- Quantity management
- Price calculations
- Cart visibility toggle
Interactive image gallery supporting:
- Multiple product images
- Thumbnail navigation
- Lightbox modal view
- Keyboard navigation
Navigation component featuring:
- Mobile hamburger menu
- Shopping cart with item counter
- User avatar
- Smooth hover animations
- Vite Build Tool - Fast development and optimized production builds
- JPG Assets - Scalable vector graphics for crisp images
- Code Splitting - Automatic chunking for faster loading
- CSS Optimization - Tailwind CSS purging for minimal bundle size
- Image Optimization - Proper sizing and lazy loading
The design uses a carefully selected color palette:
- Primary: Orange (#f97316) for CTAs and highlights
- Neutral: Gray scale for text and backgrounds
- Accent: Black for premium feel
- Font Family: Inter for clean, modern readability
- Font Weights: 400 (regular), 600 (semibold), 700 (bold)
- Responsive Sizing: Scales appropriately across devices
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is not licensed yet.
- Design inspiration from modern e-commerce platforms
- Icons provided by Lucide React
- UI components built with Radix UI
- Styling powered by Tailwind CSS
Built with ❤️ using React, TypeScript, and Tailwind CSS