A modern e-commerce application built with Next.js, React, TypeScript, and Supabase. Features a product catalog with bundle support, shopping cart functionality, and admin dashboard.
- Product Catalog: Browse individual products and bundles
- Shopping Cart: Add, remove, and manage cart items
- Bundle Support: Create and manage product bundles
- Admin Dashboard: Product management with authentication
- Real-time Updates: Live cart updates with Supabase
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, shadcn/ui
- Database: Supabase (PostgreSQL)
- Authentication: Custom JWT for admin
- Deployment: Vercel
-
Clone and install
git clone <repository-url> cd product-catalog npm install
-
Set up environment
cp env.template .env.local
Add your Supabase credentials to
.env.local:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_service_role_key JWT_SECRET=your_jwt_secret
-
Set up database
Run the SQL scripts in
scripts/folder in order:database-schema.sql- Core database structuresample-data.sql- Initial dataadmin-schema.sql- Admin authenticationsupabase-storage-setup.sql- File storage
-
Start development server
npm run dev
Default admin credentials:
- Email:
wiley@gmail.com - Password:
wiley123
Access admin dashboard at /admin/login
src/
├── app/ # Next.js App Router
│ ├── admin/ # Admin dashboard
│ └── api/ # API routes
├── components/ # UI components
│ ├── cart/ # Cart components
│ ├── products/ # Product components
│ └── ui/ # shadcn/ui components
├── context/ # React Context
├── lib/ # Utilities
└── middleware.ts # Route protection
Deploy to Vercel:
- Push to GitHub
- Connect repository to Vercel
- Add environment variables
- Deploy
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT