• Stars
    star
    380
  • Rank 110,548 (Top 3 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple but powerful React application built on a standards-compliant back-end

Isomorphic React

Updated 2021 Version

  • As of February 2021, the Jest Branch is now merged into the main branch of this project

A Starter Isomorphic React Application with All Best Practices and No Frills

image

About The Application

This application is a basic API client which gathers data from an outside API (in this case, Stackoverflow) and generates an isomorphic, single-page application (SPA).

Why Isomorphic React?

Great question!

  • Uses React / Redux as main application engine
  • Supports hot reloading and server rendering!
  • Uses React Router (in a combination with server rendering that is truly amazing)
  • No fluff, just the good stuff

Getting Started

  1. Clone the repository
  2. install dependencies npm install && npm run postinstall
  3. Run the dev server npm run start-dev
  4. Navigate to the application's url http://localhost:3000/

Usage

Enabling / Disabling Server Rendering

Server rendering is great, but sometimes we want to disable it when there's an error in our render and we'd rather troubleshoot it in the client. This setting is passed in as a CLI argument via the --useServerRender=true argument. You can modify this in package.json to --useServerRender=false which will disable any server-side rendering functionality.

Enabling / Disabling Live Data

This application is designed to grab the latest data from Stackoverflow.com. However, their API has a strict request limit which means that no questions will be returned after X requests (usually 300). Therefore, the application comes loaded with mock-questions in the data directory. To ease the learning process by eliminating potential sources of error, live data is disabled by default. However, you are strongly encouraged to use live data once you understand the associated pitfalls.

  • Note: You can increase your allotted requests to a much larger number by registering an application here, https://stackapps.com/apps/oauth/register and then appending the key to the URLs in data/api-real-url.js

Production Build

This application fully supports a production build setting, which disables live reloading in favor of precompiled and uglified JS, which boosts performance. To run production, run the command npm run start-prod, which automatically triggers the build script. This mode is recommended for production. However, this boilerplate has never been used in actual production so utilize caution if deploying as a real application.

Troubleshooting

unexpected token import

This error appears when babel is not configured correctly. This can actually be caused by outdated global dependencies, and is hard to fix. For best results, try the following -

  • Install babel-register as a local saved dependency
  • Update global versions of babel, webpack and all dependencies to latest / course versions

Any Error That is Taking a Long Time to Troubleshoot

Things can always go wrong in the world of programming. If this happens, clone the master branch of this repo to a new directory and run the installation instructions. If desired, you can work backwards, pruning extra files until you get the application in the state you want.

Problems with the Repo

I want this repo to work perfectly for as many users as possible. Got a problem? Open an issue! Let's figure out a solution together.

More Repositories

1

range.css

Awesome Cross-Browser CSS Styles Made with LESS
JavaScript
621
star
2

ngAudio

Angular Directive for Playing Sounds
CSS
369
star
3

express-react-fullstack

Simple, Useful Full Stack Express and React Application
JavaScript
361
star
4

cyo

Simple HTML Storytelling Engine
JavaScript
180
star
5

redux-saga-cart

A fully-functional shopping cart built with Redux Saga using Yield - Run with accompanying server https://github.com/danielstern/redux-saga-shopping-cart-server
JavaScript
105
star
6

vue-todomvc

A TodoMVC Application Built With Vue ⭐
HTML
104
star
7

server-rendered-react-app

JavaScript
99
star
8

MagicCircles

The world's awesomest, most useless library.
JavaScript
95
star
9

advanced-redux

A messenger service built with Redux
JavaScript
93
star
10

highground

ES6-Based Unit Testing
JavaScript
62
star
11

redux-saga-shopping-cart-server

A back-end server to be used with the accompanying Shopping Cart tutorial - Run with this https://github.com/danielstern/redux-saga-cart
JavaScript
50
star
12

redux-saga-sandbox

A console-based Redux Saga sandbox
HTML
38
star
13

compiling-typescript

A Simple, Extensible TypeScript Application
TypeScript
35
star
14

styling-react-native

JavaScript
31
star
15

react-express-examplar

JavaScript
27
star
16

flux-redux

An application implementing Flux and Redux with few other dependencies
JavaScript
24
star
17

vue-jest

JavaScript
22
star
18

force-graph-example

A Simple D3 Force Graph with Familiar Data
JavaScript
18
star
19

angular-tdd-exemplar

angular TDD sample project
JavaScript
18
star
20

rxjs-operators

A collection of simple examples for RxJS operators
JavaScript
15
star
21

jest-examplar

A repository containing a Jest Example for React
JavaScript
15
star
22

array.visualize

JOKES
JavaScript
11
star
23

TodoMVC

Identitical TodoMVC in Vue AND in React AND in Angular
JavaScript
11
star
24

eCommerce-application

commerce-app
JavaScript
11
star
25

assassin-game

A Responsive Angular.js Open Source Assassin Game
JavaScript
8
star
26

react-insights

HTML
7
star
27

configuring-typescript

A simple TypeScript application with instructions for usage
TypeScript
6
star
28

jukeboxjs

An audio synthesis API for Javascript
JavaScript
5
star
29

photoshopSpritesheet

A simple script for generating a spritesheet
JavaScript
5
star
30

generator-es6-webapp

A Yeoman generator to create an app which automatically transpiles ES6 to ES5 - also includes LESS and Skeleton
JavaScript
5
star
31

rxjs-observable-playground

A low overhead environment for experimenting with Reactive programming and observables
HTML
5
star
32

financejs

A library for calculating things
HTML
4
star
33

science

Demonstrating data manipulation
JavaScript
4
star
34

workshop-functional-programming-closures

Examples to Teach Closures and Functional Programming
JavaScript
3
star
35

mortgage-calculator

An angular app for calculating mortgage payments
JavaScript
3
star
36

Monopoly-D3

So you can win at Monopoly
JavaScript
3
star
37

angular-synthesizer

A Synthesizer for WebAudio with Angular JS
JavaScript
3
star
38

Squaretide

A colorful tile game compatible with all platforms
JavaScript
2
star
39

google-analytics-demo

HTML
2
star
40

nurl

Node-based Curl-like Command Line Interface Installed through NPM
JavaScript
2
star
41

vue-jest-demo-repo

JavaScript
2
star
42

async-js-demos

HTML
2
star
43

Rectangular

It's Box2D, It's Angular, It's Totally Square!
JavaScript
2
star
44

react-redux-app

A Simple App Built with React and Redux
JavaScript
2
star
45

integration-test-repo-demo

A demo of integration with Github
JavaScript
2
star
46

Lisa

A JavaScript Neuro-Computational Matrix
JavaScript
2
star
47

pokemon-d3

don't ask
JavaScript
2
star
48

redux-tool

A CLI Tool for React-Redux Applications
JavaScript
2
star
49

english-language-api

An API To Internet the Words Until they are Things that Computer
JavaScript
2
star
50

flashforum

ITS A FORUM HELLA FAST
JavaScript
1
star
51

elite-battle-arena-2

JavaScript
1
star
52

EliteBattleArena

sweet open source video game
CSS
1
star
53

danielsternwebsite

JavaScript
1
star
54

express-rest-api

An API Built with Express on a Node Framework
JavaScript
1
star
55

Lisa4

A Neuro-computational Matrix Built with TypeScript
JavaScript
1
star
56

modern-webapp

A new take on the webapp template with typescript and angular built in
JavaScript
1
star
57

ai-chess-duels

See Which AI is the Best at Chess
JavaScript
1
star
58

websockets-exemplar

A useful message board application with Socket.io / Node.js + Websockets
JavaScript
1
star
59

LorienIpsum

Tall and Fair Filler for Your Projects
JavaScript
1
star
60

react-router-example

A dynamic application built with React Router
JavaScript
1
star
61

Underscore-Without-Underscore

Underscore's Handy Functions without the need for the library Underscore
JavaScript
1
star
62

calculator

Angular Powered Responsive Calculator
JavaScript
1
star
63

chat-app

A simple chat application demonstrating async programming
JavaScript
1
star
64

react-newsfeed

JavaScript
1
star
65

apparel-image-generator

Generates Colorized, Customizable Images of Apparel with Logos
JavaScript
1
star
66

simplest-heroku-node-app

An extremely simple boilerplate for templating quick apps on Heroku using Node
JavaScript
1
star
67

Simplest.React.Boilerplate

JavaScript
1
star
68

RateofReturnCalculator

JavaScript
1
star
69

volca-beats

node.js driver for korg VOLCA BEATS vintage analogue synthesizer
JavaScript
1
star
70

calculon

A Friendly Library for a Time When Conventional Calculators are No Longer Needed... 2011.
JavaScript
1
star
71

simple_react_boilerplate

HTML
1
star
72

navatar

Navatar, the Node.js Avatar Generator
JavaScript
1
star
73

workshop-testing-linting

Materials for workshop on Testing / Linting
JavaScript
1
star
74

vue-testing-vitest

JavaScript
1
star
75

purescript-sandbox

PureScript
1
star
76

purescript-fundamentals

A series of simple and effective PureScript examples
Dhall
1
star
77

debugging-typescript

TypeScript
1
star
78

dungeonjs

JavaScript
1
star