Next.jsReactE-commerceStarter

panini-cake — Next.js Ecommerce Template

By stefanogali

A free e-commerce starter template based on Next.js Commerce, using TypeScript and Tailwind CSS, fetching product and page data via the Shopify Storefront API.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

E-commerce frontend adapted from Vercel's Next.js Commerce starter template

02

Uses Shopify Storefront API as the data source for products and content

03

Adopts Next.js App Router, React Server Components, and Suspense

04

Uses Server Actions for data mutations and supports Edge Runtime

05

Styles with Tailwind CSS and configures SEO via Next.js Metadata

06

Supports adding custom fields to about and contact pages via Shopify metafields

Template Details

panini-cake is a free starter template for e-commerce scenarios, with a tech stack of Next.js, TypeScript, and Tailwind CSS, and a data layer connected to the Shopify Storefront API. The project is adapted from Vercel's Next.js Commerce starter template, uses the App Router, and leverages React Server Components, Suspense, Server Actions, and Next.js Metadata capabilities.

The template includes home, about, and contact pages by default, with products, menus, and page content maintained in the Shopify admin. Featured products on the home page come from a Shopify product collection, specified via the environment variable FEATURED_PRODUCT_SLUG; the navigation menu is specified via MAIN_MENU_NAME. The template also supports reading custom fields on the about and contact pages through the ACF: Metafields Custom Fields app.

Before use, you need to prepare a Shopify development store, install the Headless app and generate a Storefront API access token, and configure variables in .env such as company name, site name, Twitter account, store domain, access token, and revalidation secret. The repository is under the MIT license, but third-party assets such as demo images, fonts, and icons, as well as external services like Shopify and hosting, require separate verification of licensing and costs.

Next.jsE-commerceStarter

Is it right for your project?

Use Cases

  • Building a custom frontend presentation layer for a Shopify store
  • Practicing Server Components and Server Actions in a Next.js App Router project
  • Serving as a starting point for e-commerce projects, replacing product collections and page content as needed
  • Connecting to a Shopify development store locally for template secondary development

Suitable For

  • Developers who already have a Shopify store and want to build a custom frontend with Next.js
  • Frontend teams needing a free MIT-licensed e-commerce starter template
  • Engineers familiar with TypeScript and Tailwind CSS who want to quickly get into business development

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run npm install to install dependencies

  2. 2

    Create a free development store in Shopify Partner, install the Headless app, and generate a Storefront API access token

  3. 3

    Copy .env.example to .env and fill in variables such as COMPANY_NAME, SITE_NAME, SHOPIFY_STORE_DOMAIN, SHOPIFY_STOREFRONT_ACCESS_TOKEN, SHOPIFY_REVALIDATION_SECRET

  4. 4

    Add products and collections in the Shopify admin, and make FEATURED_PRODUCT_SLUG and MAIN_MENU_NAME point to actual names

  5. 5

    Run npm run dev to start local development; the template includes only about and contact pages by default, other pages need to be added manually

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Using the template requires registering a free Shopify Partner account and creating a development store, which is an external service dependency, not a code license restriction.
  • The Headless app must be installed from the Shopify App Store and a Storefront API token generated; the template depends on this external service to run.
  • Environment variables such as the Shopify Storefront API access token must be configured before running; without them, product and page data cannot be fetched.
  • The custom fields feature depends on the third-party Shopify app ACF: Metafields Custom Fields, which must be installed separately.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

create a free account, you will then be able to create a free development store

Original README

install the Headless app to build using the Storefront API

Original README

SHOPIFY_STOREFRONT_ACCESS_TOKEN="XXXXXXXXXXXXXXXXX"

Original README

add ACF: Metafields Custom Fields

Original README
https://github.com/stefanogali/panini-cake/blob/main/LICENSEhttps://github.com/stefanogali/panini-cake/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Next.js · React
Website type
E-commerce · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-07-20
Screenshot last checked
2026-10-03

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 869aa4c1d15f4910455dc823995783bd5c81c9c52cd030caf783cc6840cb6010

2026-10-03T00:40:17.409Z

Source file / repository
# [Next.js + Headless Shopify E-Commerce Template](https://panini-cake.vercel.app/)

This is a Next.Js + Typescript + Tailwindcss + headless Shopify free starter template.
This project is based on [Next.js Commerce starter template](https://github.com/vercel/commerce).

The live project can be found at [https://panini-cake.vercel.app/](https://panini-cake.vercel.app/)

![Hero Image](/public/template/screenshot.png?raw=true 'Panini Cake Shop hero')

A Next.js 14 and App Router-ready ecommerce template featuring:

- Shopify Storefront API
- Next.js App Router
- Optimized for SEO using Next.js's Metadata
- React Server Components (RSCs) and Suspense
- Server Actions for mutations
- Edge Runtime
- New fetching and caching paradigms
- Dynamic OG images
- Styling with Tailwind CSS

## Instructions for running locally

Please fork or clone the repo

```bash
https://github.com/stefanogali/panini-cake
```

then install the dependencies with

```bash
npm install
```

You will need to use the environment variables [defined in `.env.example`](.env.example) to run this template. It's recommended you use [Vercel Environment Variables](https://vercel.com/docs/concepts/projects/environment-variables) for this, but a `.env` file is all that is necessary.

```bash
COMPANY_NAME="Your company"
TWITTER_CREATOR="@your company"
TWITTER_SITE="Your site"
SITE_NAME="your site name"
SHOPIFY_REVALIDATION_SECRET="XXXXXXXXXXXXXXXXX"
SHOPIFY_STOREFRONT_ACCESS_TOKEN="XXXXXXXXXXXXXXXXX"
SHOPIFY_STORE_DOMAIN="YOUR_SHOP.myshopify.com"

FEATURED_PRODUCT_SLUG="special-cakes"
MAIN_MENU_NAME="main-menu"
```

Got to the [Shopify Partner website](https://www.shopify.com/uk/partners) and create a free account, you will then be able to create a free development store.

Once you are done, go to settings and find the apps section, then head to the [Shopify app store](https://apps.shopify.com/) and install the Headless app to build using the Storefront API.

From the Headless app you will need to generate the secret token and access token, which will then be used in your env variables.
You can refer to [this guide](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started)

```bash
SHOPIFY_REVALIDATION_SECRET="XXXXXXXXXXXXXXXXX"
SHOPIFY_STOREFRONT_ACCESS_TOKEN="XXXXXXXXXXXXXXXXX"
```

Once replaced, you can run

```bash
npm run dev
```

and the app should be running on your local with no errors.

Add the products on your shopify admin dashboard, and create your pages (this template only has _about_ and _contact_ pages at the moment, but you can add yours).

For the Featured Products you will need to create new entries under your product collections on Shopify admin. Do not forger to change your FEATURED_PRODUCT_SLUG .env variable.

The current menu name is _main-menu_, but you can give any name in your Shopify admin and change the .env variable accordingly.

## Metafields

This template also supports custom fields if you wish to add your own extra sections for pages and products, directly editable from your Shopify dashboard.

Go to the [Shopify app store](https://apps.shopify.com/) and add ACF: Metafields Custom Fields. Start creating your custom metafields.
Currently this theme supports metafields on the _about_ and _contacts_ pages, you can specify what you want to retrieve in the metafields array inside those pages.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.