This project is an interactive e-commerce product listing page built using Next.js with ShadCN for UI components. It dynamically fetches product data, allows filtering and sorting, and includes personalized shopping features to enhance the user experience.
- Product Listing with Image Carousel: Displays products with an interactive image carousel.
- Filtering & Sorting with Debounced Input: Users can search, filter by category, sort products, and adjust the price range with a smooth debounced input.
- 'Recommended for You' Section: A personalized recommendation section based on user interactions.
- Wishlist Feature: Users can add and manage products in their wishlist.
- Pagination/Infinite Scroll: Efficiently loads products with pagination or infinite scrolling for seamless browsing.
- Price Range Filter: Allows users to set a minimum and maximum price range.
- Documentation: Comprehensive documentation for setup, usage, and contribution.
- Fully Functioning Shopping Cart: Users can add products, adjust quantities, and see real-time total calculations.
- Enhanced Accessibility: Implemented keyboard navigation, ARIA attributes, and optimized color contrast.
- Smooth Hover Animations: Enhanced product cards with hover effects for a modern shopping experience.
- Frontend: Next.js (React framework)
- UI Library: ShadCN
- State Management: Zustand (for global state management)
- Debounce Handling: use-debounce (for optimized search and filtering)
- Styling: Tailwind CSS
Ensure you have Node.js installed (v16 or later).
-
Clone the Repository
git clone https://github.com/Sidharth1504/Ecommerce-page.git cd ecommerce-site
-
Install Dependencies
npm install # or yarn install
-
Start the Development Server
npm run dev # or yarn dev
-
Open in Browser Navigate to
http://localhost:3000
to view the product listing page.
- Use the search bar to find specific products.
- Apply filters for category and price range.
- Sort products by price, popularity, or rating.
- Click on the heart icon to add/remove products from the wishlist.
- The wishlist persists across sessions using local storage.
- Add products to the cart with quantity controls.
- View the real-time total price and checkout.
- Products load in pages, improving performance.
- Infinite scroll loads more products dynamically as you scroll.
- Implement user authentication for personalized recommendations.
- Improve performance with server-side rendering (SSR) and caching.
- Integrate a backend API for real-time product updates.
Contributions are welcome! Feel free to submit pull requests or open issues for improvements.
This project is licensed under the MIT License.
Built with ❤️ using Next.js and ShadCN.