All Projects → BuilderIO → nextjs-shopify

BuilderIO / nextjs-shopify

Licence: MIT license
The ultimate starter for headless Shopify stores

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to nextjs-shopify

TKinterDesigner
TKinterDesigner is a tool software to develop the Python User Interface for Python programmer.
Stars: ✭ 663 (+187.01%)
Mutual labels:  drag-and-drop
Modern-UI-Components-for-VBA
A helper dll for VBA users to design modern UI components. No install required!
Stars: ✭ 139 (-39.83%)
Mutual labels:  drag-and-drop
silverstripe-graphql-jwt
JWT Authentication for GraphQL
Stars: ✭ 17 (-92.64%)
Mutual labels:  headless
ngx-dnd
Angular 6+ Drag-And-Drop Library without dependencies. Based on akserg/ng2-dnd
Stars: ✭ 31 (-86.58%)
Mutual labels:  drag-and-drop
next-app-starter
Another awesome starter for your app base on nextjs + tailwind + react-query + react-hook-form + next-auth + jotai
Stars: ✭ 73 (-68.4%)
Mutual labels:  nextjs-starter
dockview
Zero dependency layout manager and builder with ReactJS support
Stars: ✭ 45 (-80.52%)
Mutual labels:  drag-and-drop
yllet
Yllet is a set of packages for the WordPress API for both React and non-React projects
Stars: ✭ 46 (-80.09%)
Mutual labels:  headless
email-editor
Email Editor to embed in your SaaS application. Fully customizable and lightweight.
Stars: ✭ 28 (-87.88%)
Mutual labels:  drag-and-drop
laravel-storyblok
Make Laravel and Storyblok work together beautifully.
Stars: ✭ 45 (-80.52%)
Mutual labels:  headless
react-web-editor
The react-web-editor is a WYSIWYG editor library. you can resize and drag your component. It also has simple rich text editor
Stars: ✭ 191 (-17.32%)
Mutual labels:  drag-and-drop
react-dnd-treeview
A draggable / droppable React-based treeview component. You can use render props to create each node freely.
Stars: ✭ 207 (-10.39%)
Mutual labels:  drag-and-drop
Madara
✍️ A way for people to manage their tasks.
Stars: ✭ 17 (-92.64%)
Mutual labels:  drag-and-drop
react-native-ios-drag-drop
Support for the iOS 11+ inter-app drag and drop
Stars: ✭ 94 (-59.31%)
Mutual labels:  drag-and-drop
zero-drag
Minimal abstraction of DOM drag-and-drop interactions
Stars: ✭ 17 (-92.64%)
Mutual labels:  drag-and-drop
node-headless-chrome
⚠️ 🚧 Install precompiled versions of the Chromium/Chrome headless shell using npm or yarn
Stars: ✭ 20 (-91.34%)
Mutual labels:  headless
hubble-frontend-pwa
E-Commerce PWA Frontend
Stars: ✭ 43 (-81.39%)
Mutual labels:  headless
iOS11-Demos
Collection of samples and demos of features introduced in iOS 11
Stars: ✭ 16 (-93.07%)
Mutual labels:  drag-and-drop
Unity-Visual-Behavior-Tree
Reactive Visual Scripting Behavior Tree Tool for Unity 2018.x+
Stars: ✭ 36 (-84.42%)
Mutual labels:  drag-and-drop
NeoConsole
NeoConsole offers a command line (REPL) interface to a Pharo image, as well as other tools.
Stars: ✭ 22 (-90.48%)
Mutual labels:  headless
nuxt-ghost
Easy Ghost content API integration with Nuxt.js.
Stars: ✭ 27 (-88.31%)
Mutual labels:  headless

Next.js + Shopify + Builder.io starter kit

The ultimate starter for headless Shopify stores.

Demo live at: headless.builders

Goals and Features

  • Ultra high performance
  • SEO optimized
  • Themable
  • Personalizable (internationalization, a/b testing, etc)
  • Builder.io Visual CMS integrated

Video walkthrough

Learn how to get started with this Builder + Next.js + Shopify starter with this step by step video guide here:

Table of contents

Getting Started

Pre-requisites

This guide will assume that you have the following software installed:

  • nodejs (>=12.0.0)
  • npm
  • git

You should already have a Shopify account and store created before starting as well.

Introduction

This starter kit is everything you need to get your own self hosted Next.js project powered by Builder.io for content and Shopify as an e-commerce back office.

After following this guide you will have

  • A Next.js app, ready to deploy to a hosting provider of your choice
  • Pulling live collection and product information from Shopify
  • Powered by the Builder.io visual CMS

1: Create an account for Builder.io

Before we start, head over to Builder.io and create an account.

2: Your Builder.io private key

Head over to your organization settings page and create a private key, copy the key for the next step.

organizations drop down list

  • Click "Account" from the left hand sidebar
  • Click the edit icon for the "Private keys" row
  • Copy the value of the auto-generated key, or create a new one with a name that's meaningful to you

Example of how to get your private key

3: Clone this repository and initialize a Builder.io space

Next, we'll create a copy of the starter project, and create a new space for it's content to live in.

In the example below, replace <private-key> with the key you copied in the previous step, and change <space-name> to something that's meaningful to you -- don't worry, you can change it later!

git clone https://github.com/BuilderIO/nextjs-shopify.git
cd nextjs-shopify

npm install --global "@builder.io/cli"

builder create --key "<private-key>" --name "<space-name>" --debug

Note: if you're only interested in using this starter for a landing page with Shopify use this command instead:

builder create --key "<private-key>" --name "<space-name>" --input builder-landing-page-only --debug

If this was a success you should be greeted with a message that includes a public API key for your newly minted Builder.io space.

Note: This command will also publish some starter builder.io cms content from the ./builder directory to your new space when it's created.

  ____            _   _       _                     _                    _   _ 
| __ )   _   _  (_) | |   __| |   ___   _ __      (_)   ___       ___  | | (_)
|  _ \  | | | | | | | |  / _` |  / _ \ | '__|     | |  / _ \     / __| | | | |
| |_) | | |_| | | | | | | (_| | |  __/ | |     _  | | | (_) |   | (__  | | | |
|____/   \__,_| |_| |_|  \__,_|  \___| |_|    (_) |_|  \___/     \___| |_| |_|

|████████████████████████████████████████| shopify-product | 0/0
|████████████████████████████████████████| product-page: writing generic-template.json | 1/1
|████████████████████████████████████████| shopify-collection | 0/0
|████████████████████████████████████████| collection-page: writing generic-collection.json | 1/1
|████████████████████████████████████████| page: writing homepage.json | 2/2


Your new space "next.js shopify starter" public API Key: 012345abcdef0123456789abcdef0123

Copy the public API key ("012345abcdef0123456789abcdef0123" in the example above) for the next step.

This starter project uses dotenv files to configure environment variables. Open the files .env.development and .env.production in your favorite text editor, and set the value of BUILDER_PUBLIC_KEY to the public key you just copied. You can ignore the other variables for now, we'll set them later.

+ BUILDER_PUBLIC_KEY=012345abcdef0123456789abcdef0123
- BUILDER_PUBLIC_KEY=
SHOPIFY_STOREFRONT_API_TOKEN=
SHOPIFY_STORE_DOMAIN=

4. Shopify Custom App

Create a custom app for your Shopify store. If you don't have a Shopify store already, you can create a development store.

When creating the private app you'll have to set a number of permissions so that builder can retrieve your Shopify inventory. For this press on Storefront API in the configuration tab and choose all the following permissions:

List of required permissions

Then in the API Credentials tab, click install:

installing custom app

And copy the generated access token.

5. Connecting Builder to Shopify

Access your newly created space by selecting it from the list of spaces in your organization.

You should be greeted by a modal asking for various your storefront Access toke (from preview step) and your store domain, this will allow Builder.io to communicate with your store API:

Example of where the Shopify API keys map to Builder settings

Fill in the required keys and press "Connect your Shopify Custom App"!

6. Configure the project to talk to Shopify

Open up .env.development and .env.production again, but this time set the other two Shopify keys.

BUILDER_PUBLIC_KEY=012345abcdef0123456789abcdef0123
+ SHOPIFY_STOREFRONT_API_TOKEN=c11b4053408085753bd76a45806f80dd
- SHOPIFY_STOREFRONT_API_TOKEN=
+ SHOPIFY_STORE_DOMAIN=dylanbuilder.myshopify.com
- SHOPIFY_STORE_DOMAIN=

7. Up and Running!

The hard part is over, all you have to do is start up the project now.

npm install
npm run dev

This will start a server at http://localhost:3000.

8. Start building

Now that we have everything setup, start building and publishing pages on builder.io, for a demo on building something similar to the demo homepage, follow the steps in this short video

Deployment Options

You can deploy this code anywhere you like - you can find many deployment options for Next.js here. The following options support one click installs and are super easy to start with:

Deploy with Vercel

Deploy to Netlify

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].