A clean, mobile-first e-commerce starter built with Next.js, TypeScript, Tailwind CSS, and Stripe Checkout.
- Responsive storefront
- Product catalog and search/filtering
- Product detail pages
- Persistent local cart
- Quantity controls
- Stripe Checkout API route
- Supabase production database schema + RLS
- Success page
- Environment variable template
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
Add STRIPE_SECRET_KEY to .env.local. The checkout endpoint creates a Stripe-hosted Checkout Session. Keep the secret key server-side only.
For production, add a Stripe webhook and persist paid orders in Supabase before fulfilling them.
Run supabase/schema.sql in the Supabase SQL editor. For a full production deployment, replace the demo product source with Supabase queries and add authenticated admin operations through server-side routes.
Deploy to Vercel:
npm run buildThen add the environment variables in Vercel Project Settings.
- Add Supabase product/order queries.
- Add Supabase Auth for customer accounts.
- Add Stripe webhook verification and order persistence.
- Add admin dashboard with protected server routes.
- Move product images to Supabase Storage or an image CDN.
- Add rate limiting and abuse protection to public API routes.
- Add analytics, SEO metadata, sitemap and robots.txt.
- Test checkout, refunds, inventory and webhook retry behavior before launch.