Skip to content
Open to opportunities
SD
Project 05Ecommerce / Web App2025

A premium football jersey ecommerce storefront — full auth, Stripe checkout and a Postgres/Prisma product catalog, built as a sister brand to Gavi Corner.

In ProgressIndependent project — source on GitHub, not a production deployment
Jersey Corner screenshot
01

Overview

Jersey Corner is a premium football jersey storefront built as a sister brand to Gavi Corner, sharing its design language while running a fully independent Next.js codebase with real ecommerce infrastructure: Clerk authentication, Stripe Checkout, and a Prisma/PostgreSQL product catalog with cart and wishlist state.

02

Problem

A storefront needs to feel real and browsable long before payments, inventory and auth are fully wired up — and it needs to survive a database not being configured yet without falling over.

03

Approach

Auth runs through Clerk with signature-verified user webhooks (created/updated/deleted) kept in sync with the app's own user records. Payments go through Stripe Checkout with signature-verified webhooks confirming orders server-side rather than trusting the client redirect. The product catalog is Prisma-backed but falls back to seeded in-memory data whenever `DATABASE_URL` isn't set, so the storefront stays fully explorable in any environment, including one with no database provisioned at all.

04

Engineering

  • Clerk authentication with signature-verified webhook sync (create/update/delete) into the app's own user model
  • Stripe Checkout with signature-verified webhooks confirming orders server-side
  • Prisma 7 / PostgreSQL product catalog with a seeded in-memory fallback when no database is configured
  • Cart and wishlist state managed with Zustand
  • Framer Motion micro-interactions and Sonner toast notifications throughout the shopping flow
  • Internationalized routing via next-intl, sharing brand fonts and color tokens with Gavi Corner
05

Result / Current State

Core ecommerce flows — catalog, cart, wishlist, checkout, auth — are in place and functional. Lower priority than the platform-scale projects above, and still evolving.

06

What I Learned

Keeping two Stripe- and Clerk-driven trust boundaries (payments and identity) both verified server-side, while still letting the whole catalog run and demo cleanly with zero external services configured — the seeded fallback had to be a first-class code path, not an afterthought.

Status
In Progress

Progressing slowly — not a current priority

Type
Independent project — source on GitHub, not a production deployment
Category
Ecommerce / Web App
Year
2025
Technology
Next.js 16TypeScriptTailwind CSS 4ClerkStripePrismaPostgreSQL
Links