Cary Grant Clothing
A complete online store with an admin dashboard for a clothing retailer in Barrie, Ontario.
Stack: Next.js (App Router), TypeScript, Supabase (PostgreSQL, Auth, Storage), Resend, Zustand, Tailwind CSS
The problem
A Barrie, Ontario clothing retailer needed an online store the owner can run without touching code.
How it works
Customers browse and filter products, use a cart (Zustand), and go through a three-step checkout. Accounts and order history use Supabase authentication. The owner signs in at a hidden admin URL to add, edit, and delete products with image upload and to move orders from Pending to Processing to Delivered. Order and contact emails are sent through Resend.
Decisions
Decisions worth explaining
Row Level Security and storage segregation
Row Level Security enabled on every Supabase table (products, orders, messages, newsletter) with a public image bucket for product photos.
Obfuscated administrative access
No link to the admin area anywhere on the public site; the owner uses the URL directly.
Status
What's not finished
Checkout currently uses a demonstration card form. It saves orders and sends confirmation emails but does not charge a card. Stripe integration is the next step.
Next project