FAQ

Last updated on 2026-08-30

General

What's the difference between this and the frontend-only e-commerce kit?

The frontend-only kit gives you 40 screens of UI with mock data from data/seed.ts. This full-stack kit gives you 53 routes with a real Supabase backend: 18 database tables, Supabase Auth with social login, Stripe Checkout with webhook-driven order creation, hybrid cart persistence, image upload to Supabase Storage, and admin CRUD that writes to the database.

Do I need both kits?

No. This full-stack kit includes all the storefront UI from the frontend-only version, plus the entire backend. If you want a working store, get this one. If you only need UI components to wire to your own backend, the frontend-only kit is sufficient.

Can I use this for a production store?

Yes. Deploy to Vercel, set up a Supabase project, configure Stripe, and you have a working store. You'll want to add your own products, customize the branding, and potentially integrate tax and shipping APIs.

Supabase

Do I need Supabase, or can I use another database?

The kit is built for Supabase. All auth, database queries, storage, and RLS policies are Supabase-specific. Switching to another database would require rewriting the data layer — possible but not a quick swap.

How much does Supabase cost?

Supabase has a free tier that's generous enough for development and small stores. The Pro plan starts at $25/month for production use. See supabase.com/pricing.

Can I use Supabase's local development setup?

Yes. Install the Supabase CLI and run supabase start for a local Postgres instance. The migration files work with both local and hosted Supabase.

How do I reset the database?

Run the migration files again in order, then run seed.sql to reload sample data. Or use the Supabase CLI: supabase db reset.

Stripe

Why Stripe Checkout Sessions instead of Stripe Elements?

Checkout Sessions redirect the customer to Stripe's hosted payment page. This is PCI-compliant without any additional work, supports Apple Pay and Google Pay automatically, and handles 3D Secure. It's simpler and more secure than embedding Elements.

Can I switch to Stripe Elements?

Yes, but it requires additional work: creating a PaymentIntent server-side, building the payment form with @stripe/react-stripe-js, and handling card validation. The Checkout Sessions approach is recommended unless you need a custom payment UI.

How do I test payments?

Use Stripe test mode (sk_test_ keys) and test card numbers like 4242 4242 4242 4242. The webhook handler works the same in test mode.

Cart

Why does the cart use localStorage for guests?

So guests can add products without creating an account. The localStorage cart survives page refreshes and browser tabs. When the guest logs in or signs up, the cart automatically merges into their database-backed cart.

What happens if a guest adds items and then logs in?

The guest cart merges with their server cart. If the same product exists in both, the higher quantity is kept. The merge runs once, then localStorage is cleared.

Auth

How do I make myself an admin?

Sign up normally, then go to Supabase Dashboard > Authentication > Users, find your user, and edit app_metadata to {"role": "admin"}. The middleware and RLS policies will recognize you as an admin.

Can I add more OAuth providers?

Yes. Supabase supports many providers (Apple, Discord, Twitter, etc.). Enable them in the Supabase Dashboard, then add the sign-in button to your login page following the same pattern as Google and GitHub.

Deployment

Can I deploy to something other than Vercel?

Yes. Any Node.js hosting that supports Next.js works: Railway, Render, AWS Amplify, self-hosted with pnpm build && pnpm start. Vercel is recommended for the smoothest experience.

Do I need to set up CORS?

No. The Supabase client handles CORS automatically. Server Actions run server-side and don't involve CORS.

License

What license covers client work?

Solo and Team licenses are for internal projects. The Agency license allows unlimited developers and client delivery. See the LICENSE.md file in the project root.

Can I resell or redistribute the kit?

No. The code is licensed for use in your own projects (or client projects with the Agency license). Redistribution of the raw code is not permitted.