A modern e-commerce platform built with Next.js 15, featuring a dynamic product catalog, user authentication, and admin dashboard. This project showcases advanced React patterns and best practices in building scalable e-commerce solutions.
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Shadcn UI
- Authentication: Clerk
- Database: Prisma with Supabase
- State Management: React Context
- Carousel: Embla Carousel
- 🛍️ Product catalog with dynamic filtering
- 🔐 Secure authentication with Clerk
- 📊 Admin dashboard for sales and inventory management
- 🎨 Modern UI with dark/light mode support
- 🛒 Shopping cart functionality
- 💳 Secure checkout process
- Node.js (v18 or higher)
- npm or yarn
- Supabase account
- Clerk account
- Clone the repository
git clone <repository-url>
cd udemy-store- Install dependencies
npm install
# or
yarn install- Set up environment variables
cp .env.example .env.localFill in your environment variables in .env.local
- Set up the database
npm run prisma:push
npm run prisma:generate- Start the development server
npm run dev
# or
yarn dev├── app/ # Next.js app directory
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── prisma/ # Database schema and migrations
├── public/ # Static assets
├── types/ # TypeScript type definitions
└── utils/ # Helper functions
dev: Start development serverbuild: Build for productionstart: Start production serverlint: Run ESLintprisma:push: Push database changesprisma:generate: Generate Prisma clientprisma:studio: Open Prisma Studioseed: Seed the database