Skip to content

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