diff --git a/README.md b/README.md index ab10683..dddeb19 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,69 @@ -# HNPWA with React +# HNPWA with React [![Build Status](https://circleci.com/gh/taehwanno/hnpwa-react/tree/master.svg?style=shield&circle-token=3f589df40a8f9d6303dee73907fbf91f9c09cc38)](https://circleci.com/gh/taehwanno/hnpwa-react/tree/master) -> Hacker News readers as Progressive Web Apps with React +> Hacker News readers as Progressive Web Apps with React, react-router, redux, Immutable.js + +Live Demo: https://hnpwa-react.firebaseapp.com/ + +
+ +
+ +# Features + +- Framework/UI libraries: React, react-router, redux, Immutable.js +- Module Bundling: Webpack +- Service Worker + - Application Shell + - Data caching with [Workbox](https://workboxjs.org/) + - Offline Google Analytics with [`workbox-google-analytics`](https://workboxjs.org/reference-docs/latest/module-workbox-google-analytics.html) +- Performance Patterns + - Server-side data pre-fetching + - Route-based chunking + - Preload / Prefetch resources +- Hosting: Firebase +- Server Side Rendering with Google Cloud Functions + +# Prerequisites + +- node `v8.5.0` +- [yarn](https://yarnpkg.com/lang/en/) +- [bundler](http://bundler.io/) + +```bash +$ git clone https://github.com/taehwanno/hnpwa-react.git +$ cd hnpwa-react +$ yarn install +$ bundle install +$ cd functions && yarn install && cd .. +``` + +# Scripts + +```bash +# Run webpack-dev-server at 8080 port +$ yarn start + +# Analyze bundle with webpack-bundle-analyzer +$ yarn analyze + +# Lint with `eslint`, `scss-lint` +$ yarn lint +$ yarn lint:js +$ yarn lint:scss + +# Test +$ yarn test +$ yarn test:watch +$ yarn test:coverage + +# Build for client, server bundle +$ yarn build +$ yarn build:client +$ yarn build:server + +# Run storybook at 9001 port +$ yarn storybook +``` # License