A responsive frontend-only web application built with React for managing and displaying products. This application demonstrates modern React patterns including component-based architecture, state management, form handling, search optimization, and responsive design.
🌐 Live Site: Product Management Dashboard
- Dual View Modes: Switch between List View (table format) and Card View (grid layout)
- Real-time Search: Search products by name with 500ms debounce for optimal performance
- Product Management: Add and edit products with comprehensive form validation
- Pagination: Efficient navigation through large product lists
- Responsive Design: Fully responsive UI that works seamlessly on desktop and mobile devices
- In-Memory Storage: All product data is managed using React state (no backend required)
- Name (required): Product name
- Price (required): Product price in USD
- Category (required): Product category (Electronics, Accessories, Furniture, Clothing, Food, Other)
- Stock (required): Available stock quantity
- Description (optional): Product description
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository or navigate to the project directory
- Install dependencies:
npm installStart the development server:
npm run dev
The application will be available at http://localhost:5173 (or the port shown in the terminal).
Build the application for production:
npm run buildThe production build will be in the dist directory.
Preview the production build:
npm run preview<img width="281" height="740" alt="image" src="https://github.com/user-attachments/assets/eccf0a17-44a3-4396-bb48-8fdf53f8b05b" />
- React 18: UI library
- Vite: Build tool and development server
- CSS3: Styling with responsive design
The search functionality uses a 500ms debounce to prevent excessive filtering operations while the user is typing, improving performance.
Comprehensive client-side validation ensures data integrity:
- Required field validation
- Numeric validation for price and stock
- Real-time error messages
- Clear error indicators
- Mobile-first approach
- Flexible grid layouts
- Adaptive table scrolling on mobile
- Touch-friendly buttons and inputs
This project is configured for easy deployment on Vercel:
- Push your code to a Git repository
- Import the project in Vercel
- Vercel will automatically detect Vite and configure the build settings
- Deploy!
This project is open source and available for educational purposes.