Skip to content
The React GraphQL Academy website
JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
__mocks__
cypress/integration
functions
images
src
studio
test
.env.ci
.firebaserc
.gitignore
.prettierrc
LICENSE
README.md
cypress.json
database.rules.json
firebase.json
gatsby-browser.js
gatsby-config.js
gatsby-node.js
gatsby-ssr.js
package.json
storage.rules
yarn.lock

README.md

CircleCI

React GraphQL Academy website

React GraphQL has been built with Gatsby. Gatsby is a static site generator for React and is a great solution if you are building a content heavy site, you can read more about Gatsby in the official docs and you can read more about our experiences using Gatsby. 😎

Install

Clone this repo to your local machine and run

npm install

Make sure that you have the Gatsby CLI program installed:

npm install --global gatsby-cli

We have several scripts in place:

  • To run the site, user npm run develop
  • To run the tests use npm run test or npm run testw for watch mode
  • To generate a code coverage report use npm run coverage
  • To run storybook to visually see the components, use npm run storybook

There are a few other scripts in the package.json that are used for formatting via prettier and to spin up production builds of the site, please refer to the gatsby docs for further reading on the later.

Our Testing

We use Jest for testing. As the site is content heavy, we use snapshot tests for parts with little or no logic and write full unit and integration tests for mission critical parts such as src/components/payment/payment.test.js

Our Deploy and Hosting

We use Google's firebase platform for hosting the site. There is a generous free layer and so the site does not cost anything to host. This also allows for the rapid addition of features that you need a backend for (such as contact forms etc), for which we use cloud functions. We also use the cloud storage, which is a CDN, to keep the weight of images off the server and maintain a rapid build time.

You can’t perform that action at this time.