https://github.com/taehwanno/hnpwa-react
Hacker News readers as Progressive Web Apps with React, react-router, redux, Immutable.js
https://github.com/taehwanno/hnpwa-react
hacker-news hnpwa progressive-web-apps pwa react
Last synced: about 1 year ago
JSON representation
Hacker News readers as Progressive Web Apps with React, react-router, redux, Immutable.js
- Host: GitHub
- URL: https://github.com/taehwanno/hnpwa-react
- Owner: taehwanno
- License: mit
- Created: 2017-09-24T06:08:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-02T13:17:08.000Z (almost 8 years ago)
- Last Synced: 2025-03-31T04:03:01.462Z (about 1 year ago)
- Topics: hacker-news, hnpwa, progressive-web-apps, pwa, react
- Language: JavaScript
- Homepage: https://hnpwa-react.firebaseapp.com
- Size: 1.15 MB
- Stars: 13
- Watchers: 2
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HNPWA with React [](https://circleci.com/gh/taehwanno/hnpwa-react/tree/master)
> 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
- State Management: 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
- Client-side state & DOM hydration
- Server-side data pre-fetching
- 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 dev server at 8080 port
$ yarn start
# Analyze bundle with webpack-bundle-analyzer
$ yarn analyze
$ yarn analyze:cache
# 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
```
# Storybook
https://taehwanno.github.io/hnpwa-react/
# License
MIT © [Taehwan, No](https://github.com/taehwanno)