Coder Social home page Coder Social logo

pegovsi / ssr-sample Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hiroppy/ssr-sample

0.0 1.0 0.0 772 KB

a sample of server side rendering using typescript + react + redux + react-router + redux-saga + react-helmet + loadable-components + recompose + styled-components + apollo + express + webpack etc..

Home Page: http://blog.hiroppy.me/entry/ssr-sample

JavaScript 4.50% HTML 0.25% TypeScript 95.25%

ssr-sample's Introduction

A sample of Server-Side-Rendering and Single-Page-Application

Travis (.org) Codecov

This repository shows you how to write SSR and SPA code using TypeScript.

Articles

業務で使える簡単な SSR + SPA のテンプレートを公開した

Feature

  • how to render at server side using Node.js (/src/server)
    • express
    • redux-saga (side effects)
    • styled-components (css)
    • react-helmet (head)
    • loadable-components (dynamic import)
  • how to realize single page application (/src/client)
    • react-router
    • recompose (error handling, etc...)
    • App Shell and Content (PWA)
  • how to use Apollo(GraphQL) with SSR and SPA
    • apollo-boost
    • apollo-server-express
    • react-apollo
  • how to write test code and storybook
    • express, react, redux, redux-saga, react-router, etc...
  • how to develop in the development env and how to run the production env
    • HMR of webpack
    • dotenv
    • manifest
    • load distribution
    • dynamic import
  • how to measure application performance
    • why-did-you-update
    • autocannon
    • clinic

Libraries

Name Purpose CSR SSR
react view yes yes
redux architecure yes yes
react-helmet head tag yes yes
recompose HOC yes yes
redux-saga side effects yes yes
styled-components CSS in JS yes yes
loadable-components dynamic import yes yes
apollo-boost GraphQL yes yes
express server side framework N/A yes
Name Purpose
typescript, ts-node language
webpack bundler
storybook preview
jest test runner
workbox service worker
autocannon benchmarking tool
clinic performance profiling

Setup

$ git clone [email protected]:hiroppy/ssr-sample.git
$ npm i
$ npm start

Development

$ npm start # use 3000
$ open http://localhost:3000
$ npm run start:storybook # use 6006
$ open http://localhost:6006

GraphQL Playground

$ npm start
$ open http://localhost:3000/graphql

Test

$ npm test

Production

$ npm run build # for client codes
$ npm run start:prod # run server and use 3000
$ open http://localhost8080

Deploy

$ npm run deploy:storybook

Note

This repository shows how to write and so does not introduce Atomic Design.

ssr-sample's People

Contributors

hiroppy avatar kristijanjovanovski avatar

Watchers

Sergey Pegov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.