Skip to content

My blog (tonyspiro.com) built using React and the Cosmic JS content API.

Notifications You must be signed in to change notification settings

tonyspiro/tonyspiro.com-react

Repository files navigation

tonyspiro.com-react

This app demonstrates how to build a portfolio blog using React on the Cosmic JS content platform. Uses React Router, Flux and Cosmic JS to load pages fast in a single page application.

#####View a demo here

Getting started

#####Install

git clone https://github.com/tonyspiro/tonyspiro.com-react
cd tonyspiro.com-react
npm install

#####Run webpack dev

npm run dev

Go to http://localhost:8080/webpack-dev-server #####Run production

npm start

Go to http://localhost:8000

About the app

  • My original website at http://tonyspiro.com is built on the WordPress platform. After running benchmark tests with ApacheBench between my WordPress site and this React / Cosmic JS version, the React version clocks in over 10x FASTER to "first paint". This is the real benefit from the React / API set up, less server overhead and faster page load times between "pages". You can really see a significant speed difference on mobile.

WordPress (26.7 seconds):

React / Cosmic JS (2.3 seconds):

  • Benchmarking was performed by running ApacheBench. ab -n 100 -c 10 http://tonyspiro.com/ and ab -n 100 -c 10 http://tonyspiro.com:8000/

  • React Router is used to perform the navigation between "pages". Running npm start boots a node server that allows for the pages to render properly when loaded in from a url or on page refresh.

  • The Cosmic JS browser package is used to pull the data from the Cosmic JS API into the app.

  • Webpack is used for the dev and build process to turn ES6 JS into browser-friendly ES5 JS using the babel-loader.

  • The front end style is based off a theme from Start Bootstrap.

###How I did it Here are the steps that were taken to build this app:

  1. I exported the data out of my WP blog using the Cosmic JS WP Export plugin. The exported JSON file is included in this repo at tonyspirocom.json
  2. I created a new bucket in Cosmic JS
  3. I then imported the JSON file into my Cosmic JS bucket
  4. I built the React app and edited config.js to point to the correct bucket in Cosmic JS

About

My blog (tonyspiro.com) built using React and the Cosmic JS content API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published