A React website boilerplate that satisfies some common website requirements.
Clone or download
Latest commit df19077 Dec 19, 2018

README.md

React Website Boilerplate

react-website-boilerplate A website template that satisfies some common website requirements including dynamic pages, blog articles, author management, SEO ability, contact form and website search. Built using React and Next.js. Contributions welcome!

Demo

Click here to view the demo

Read how this app was built

Features

  1. Fully responsive down to mobile w/ Bootstrap frontend
  2. SEO ready
  3. A contact form that sends an email to your email(s) of choice and to Cosmic JS for easy reference
  4. Full-site search functionality
  5. All content is easily managed in Cosmic JS including pages, blog and contact info.

Sign up for Cosmic JS to install the demo content and deploy this website.

Getting Started

git clone https://github.com/cosmicjs/react-website-boilerplate
cd react-website-boilerplate
npm install

# Run in development and serve at localhost:3000
npm run dev

# build for production
npm run build

# Run in production and serve at localhost:3000
COSMIC_BUCKET=your-bucket-slug npm start

Import the bucket.json file into your Cosmic JS Bucket. To do this go to Your Bucket > Settings > Import / Export Data.

Contact form setup

Install and deploy the SendGrid Email Function.

The contact form on the contact page uses the SendGrid Email Function to send emails. To deploy your email function go to Your Bucket > Settings > Functions. Install and deploy the SendGrid Function. You will need an account with SendGrid to add your SendGrid API key.

Add the SendGrid Function Endpoint

in development

Go to config/index.js and edit SENDGRID_FUNCTION_ENDPOINT to manually add the URL for testing.

in production

If you are using the Web Hosting option that's included with every Bucket:

  1. Go to Your Bucket > Settings > Web Hosting
  2. Deploy your Website
  3. Click 'Set Environment Variables' tab and add the SendGrid Function endpoint:
Key Value
SENDGRID_FUNCTION_ENDPOINT https://your-lambda-endpoint.amazonaws.com/dev/send-email