Back to projects
Live demo

Ecom Core

One store codebase, reused for every client shop

23

Prisma models

50

API routes

8

Architecture decision records

262

Commits since Feb 2026

Key Features

Layer architecture, pinned releases

One reference store, built once. Each client gets a thin repo that pulls Core in as a Nuxt layer, pinned to a release tag. Clients override files in their own repo, never edit Core.

PayFast checkout

Checkout runs on PayFast, the South African payment gateway, including its own payment notification (ITN) handler.

Option groups and variants

Products carry option groups like Size and Colour. Each combination is a variant with its own SKU, stock and optional price.

Storefront state

Admins set the store to Coming soon (not indexed), Live, or Maintenance, which returns 503 to the public while admins still get in.

Stores built on Core

Each row is a client site running its own database, on its own release of Core.

GDE Leather

Leather goods store

Soon

About this project

Ecom Core is one reference store, built once. Each client gets a thin repo that pulls Core in as a Nuxt layer, pinned to a release tag, and overrides files in its own repo rather than editing Core directly.

Why this shape?

  • One codebase patched once, every client on a pinned release
  • Login through better-auth, with Google and Facebook sign-in
  • One database per site, with its own dev, qa and production tiers

Built with

NuxtNuxt UIPrismaPostgreSQLbetter-authPayFastDockerSentry