A modern, fully responsive ecommerce web application for a premium suit store built with React, Vite, and Tailwind CSS.
- Product Catalog: Browse premium suits with advanced filtering and sorting
- Product Details: Detailed product pages with image carousels and size selection
- Shopping Cart: Add, remove, and manage items with real-time updates
- Checkout Flow: Multi-step checkout process with form validation
- Responsive Design: Mobile-first approach with elegant desktop layouts
- React 19: Latest React with functional components and hooks
- React Router: Client-side routing for seamless navigation
- Context API: Global state management for cart functionality
- Framer Motion: Professional animations and micro-interactions
- Tailwind CSS: Utility-first CSS framework for rapid styling
- Lucide React: Beautiful, customizable icons
- Luxury Aesthetic: Clean, minimalistic design with premium feel
- Color Palette: Black, white, charcoal, and gold accents
- Typography: Inter font for modern, readable text
- Accessibility: ARIA labels, keyboard navigation, and screen reader support
- Performance: Optimized images and lazy loading
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd suit-store
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
npm run build
npm run previewsrc/
├── components/
│ ├── layout/
│ │ ├── Header.jsx # Navigation header with cart indicator
│ │ └── Footer.jsx # Site footer with links and info
│ └── ui/
│ ├── Button.jsx # Reusable button component
│ └── ProductCard.jsx # Product display card
├── context/
│ └── CartContext.jsx # Global cart state management
├── data/
│ └── products.js # Mock product data and filters
├── pages/
│ ├── Home.jsx # Landing page with hero and features
│ ├── Products.jsx # Product listing with filters
│ ├── ProductDetail.jsx # Individual product page
│ ├── Cart.jsx # Shopping cart page
│ └── Checkout.jsx # Multi-step checkout process
├── App.jsx # Main app component with routing
├── main.jsx # React app entry point
└── index.css # Global styles and Tailwind imports
- Primary: Black (#000000)
- Secondary: White (#FFFFFF)
- Accent: Gold (#F59E0B)
- Neutral: Charcoal (#374151)
- Font Family: Inter
- Headings: Bold weights (600-800)
- Body: Regular weight (400)
- Captions: Medium weight (500)
- Buttons: Multiple variants (primary, secondary, outline, gold)
- Cards: Hover effects with subtle shadows
- Forms: Clean inputs with focus states
- Navigation: Sticky header with mobile menu
The cart system uses React Context for global state management:
- Add to Cart: Products with size selection
- Update Quantity: Increase/decrease item quantities
- Remove Items: Individual item removal
- Clear Cart: Empty entire cart
- Persistent State: Cart persists during session
- Real-time Updates: Instant UI updates across components
- Mobile: 320px - 768px
- Tablet: 768px - 1024px
- Desktop: 1024px+
- Hamburger menu navigation
- Touch-friendly buttons and interactions
- Optimized image sizes
- Simplified layouts for small screens
- Semantic HTML: Proper heading hierarchy and landmarks
- ARIA Labels: Screen reader support for interactive elements
- Keyboard Navigation: Full keyboard accessibility
- Focus Management: Visible focus indicators
- Color Contrast: WCAG AA compliant color ratios
- Reduced Motion: Respects user motion preferences
Edit src/data/products.js to add new products:
{
id: 7,
name: "New Suit Name",
price: 1299,
category: "business",
color: "navy",
sizes: ["38", "40", "42"],
images: ["image1.jpg", "image2.jpg"],
description: "Product description...",
features: ["Feature 1", "Feature 2"],
inStock: true,
rating: 4.8,
reviews: 124
}Modify tailwind.config.js for theme customization:
theme: {
extend: {
colors: {
brand: {
primary: '#your-color',
secondary: '#your-color'
}
}
}
}- react: ^19.2.0
- react-dom: ^19.2.0
- react-router-dom: ^6.x
- framer-motion: ^11.x
- lucide-react: ^0.x
- vite: ^7.2.4
- tailwindcss: ^3.x
- eslint: ^9.x
- postcss: ^8.x
- autoprefixer: ^10.x
- Code Splitting: Automatic route-based code splitting
- Image Optimization: Responsive images with proper sizing
- Lazy Loading: Components and images loaded on demand
- Bundle Analysis: Optimized build output
- Caching: Browser caching for static assets
- User Authentication: Login/register functionality
- Wishlist: Save favorite products
- Product Reviews: Customer review system
- Search: Advanced product search
- Payment Integration: Real payment processing
- Inventory Management: Stock tracking
- Admin Panel: Product management interface
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
For support and questions, please contact:
- Email: support@elitesuits.com
- Website: https://elitesuits.com
Built with ❤️ using React, Vite, and Tailwind CSS