A modern, responsive e-commerce platform built with Next.js 16, featuring product browsing, cart functionality, and wishlist management.
- Product Catalog: Browse products by categories with pagination
- Product Details: Detailed product pages with specifications
- Shopping Cart: Add/remove items, quantity management
- Wishlist: Save favorite products for later
- Responsive Design: Optimized for mobile and desktop
- Dark/Light Theme: Theme switching support
- Modern UI: Built with shadcn/ui components
- TypeScript: Full type safety
- Performance: Optimized with Next.js App Router
- Framework: Next.js 16
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui (Radix UI)
- Icons: Lucide React
- Forms: React Hook Form with Zod validation
- State Management: React hooks + Context
- Data Fetching: SWR
- Analytics: Vercel Analytics
- Deployment: Vercel
-
Clone the repository
git clone <repository-url> cd e-commerce
-
Install dependencies
npm install # or pnpm install -
Run the development server
npm run dev # or pnpm dev -
Open your browser Navigate to http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
e-commerce/
├── app/ # Next.js App Router
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ └── product/[id]/ # Dynamic product pages
├── components/ # Reusable components
│ ├── ui/ # shadcn/ui components
│ ├── navbar.tsx # Navigation bar
│ ├── footer.tsx # Footer
│ ├── product-card.tsx # Product card component
│ └── ...
├── hooks/ # Custom React hooks
│ ├── use-cart.ts # Cart management
│ ├── use-wishlist.ts # Wishlist management
│ └── ...
├── lib/ # Utility functions
├── public/ # Static assets
└── styles/ # Additional styles
- Favicon and Apple touch icon can be updated in
public/directory - Update icon paths in
app/layout.tsx
- Theme configuration in
components/theme-provider.tsx - Uses
next-themesfor theme switching
- Currently uses DummyJSON for mock data
- Replace API calls in components to connect to your backend
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - The React framework
- shadcn/ui - Beautiful UI components
- Tailwind CSS - Utility-first CSS
- DummyJSON - Mock API data