Back to PortfolioBack
Live demoLive
Starter Kit / ArchitectureClean Architecture · DDD

Vertex.

A production-ready Next.js e-commerce and admin boilerplate built on Clean Architecture and Domain-Driven Design — a storefront, a full admin dashboard, and Stripe billing, structured into clean domain, use-case, and infrastructure layers.

Live demo
Vertex storefront
Contents
01

E-Commerce & Admin Boilerplate

A foundation that stays clean as it scales.

Vertex is a developer-facing starter kit for launching scalable e-commerce and SaaS apps without re-solving the same plumbing. It ships a complete storefront (catalog, cart, favorites, Stripe checkout, and a customer billing portal) and an admin dashboard (products, categories, orders, users), all organized with Domain-Driven Design: business entities and repository interfaces in the domain layer, application logic in use-cases and server actions, and external services (Prisma, Stripe, Mailgun) isolated in infrastructure. The goal is a codebase that stays maintainable as it grows.

The problem

Most e-commerce starters tangle UI, data access, and third-party calls together, so they rot as the app grows. Teams need a foundation that's production-ready on day one but still cleanly layered enough to scale.

The answer

A boilerplate built around Clean Architecture: a typed domain core, a use-case and server-action application layer, and a swappable infrastructure layer for Prisma, Stripe, and Mailgun — with a working storefront and admin dashboard on top.

02

Layered on purpose

Clean Architecture

Presentation

app/ · components/ · hooks/

App Router pages, UI primitives, and view logic.

Application

actions/ · use-cases/

Server actions orchestrate use-cases — the app’s verbs.

Domain

entities/ · repositories/

Business entities and repository interfaces. No framework.

Infrastructure

infra/ · prisma/ · lib/

Prisma, Stripe, and Mailgun — swappable behind interfaces.

Dependencies point inward: the domain knows nothing about Prisma, Stripe, or React. Swap an integration without touching business logic.

03

What customers get

Storefront

Catalog & filtering

Browse products with advanced filtering and detailed product views.

Cart & favorites

Persistent cart and wishlist backed by Zustand, scoped per user.

Stripe checkout

Secure Stripe Checkout with webhook-driven order fulfilment.

Billing portal

Self-service customer portal for billing and subscriptions.

Vertex product catalogue
Storefront — product catalogue with filtering
04

What operators get

Admin dashboard

Products & categories

Create, update, and organise inventory into dynamic categories.

Orders

View and manage customer orders end to end.

Users & roles

Oversee platform users and role-based access.

Email & analytics

Mailgun transactional email and analytics-ready hooks.

Domain-Driven Design with entities, repositories, and use-cases
Storefront: catalog, filtering, cart and favorites (Zustand-persisted)
Stripe Checkout with webhooks and a self-service billing portal
Admin dashboard for products, categories, orders, and users
NextAuth.js v5 authentication with Google provider
React Hook Form + Zod validation across all forms
Mailgun transactional email integration
Type-safe Prisma data layer over PostgreSQL
05

What it's built on

Technology stack

Frontend

Next.js 15
React 19
TypeScript
Tailwind CSS
shadcn/ui

Data & Auth

PostgreSQL
Prisma
Auth.js
Zustand
Zod

Services

Stripe
Mailgun

Let’s work together

Need something like Vertex built — or taken further?

I partner with founders and small teams to ship production software, start to finish. Tell me what you’re building.

Start a projectEmail meWhatsApp
Next case studyKINDRA