Skip to content

Drop-in proof-of-concept ExpressJS app, fully integrated with your ButterCMS account

Notifications You must be signed in to change notification settings

ButterCMS/expressjs-starter-buttercms

Repository files navigation

recommended node version

ExpressJS + ButterCMS Starter Project

This ExpressJS starter project fully integrates with dynamic sample content from your ButterCMS account, including main menu, pages, blog posts, categories, and tags, all with a beautiful, custom theme with already-implemented search functionality. All of the included sample content is automatically created in your account dashboard when you sign up for a free trial of ButterCMS.

View our live demo hosted at Vercel, or you can click a button below to deploy your own copy of our starter project to the provider of your choice.

Deploy with Vercel

Deploy with Heroku

1. Installation

First, clone the repo and install the dependencies by running npm install

git clone https://github.com/ButterCMS/expressjs-starter-buttercms.git
cd expressjs-starter-buttercms
npm install

2. Set API Token

To fetch your ButterCMS content, add your API token as an environment variable.

$ echo 'EXPRESS_BUTTER_CMS_API_KEY=<Your API Token>' >> .env

3. Run local server

To view the app in the browser, you'll need to run the local development server:

$ npm run dev

Congratulations! Your starter project is now live. To view your project, point your browser to http://localhost:3000/.

4. Deploy on Vercel

Deploy your Express JS app using Vercel, the creators of Next.js, or with Heroku. With the click of a button, you'll create a copy of your starter project in your Git provider account, instantly deploy it, and institute a full content workflow connected to your ButterCMS account. Smooth.

Deploy with Vercel

Deploy with Heroku

5. Webhooks

The ButterCMS webhook settings are located at https://buttercms.com/webhooks/

6. Previewing Draft Changes

By default, your starter project is set up to allow previewing of draft changes saved in your ButterCMS.com account. To disable this functionality, set the following value in your .env file: EXPRESS_BUTTER_CMS_PREVIEW=false