boilerplate-koa-redux-react
                                
                                
                                
                                    boilerplate-koa-redux-react copied to clipboard
                            
                            
                            
                        A boilerplate for a Koa Redux React application with Webpack, Mocha and SASS
Boilerplate for a Koa Redux React app with Webpack, Mocha, SASS, Babel, ESLint...
Docs
Detailed blogpost on how was this boilerplate built
Good to understand what's what.
Instructions
- 
Clone repo
git clone https://github.com/mezod/boilerplate-koa-redux-react.git
 - 
Install dependencies
npm install
 - 
Run the webserver
npm run webserver
Webserver should be running at http://localhost:3000/
 - 
Make build
npm run build
 - 
Run development server
npm run dev
Development server should be running at http://localhost:8080/
 
Real projects using this boilerplate
everydaycheck.com - Simple and beautiful habit tracker
List of techs
- Node - JS runtime environment
 - npm - package manager
 - Koa - api framework
 - koa-router - api router
 - koa-cors - cors support
 - Bookshelf.js - ORM
 - knex - query builder
 - mysql - MySQL driver for JS
 - Babel - ES6 transpiler
 - Webpack - module bundler & task runner
 - React - interfaces
 - react-hot-loader - hot reloading for react
 - react-router - react application router
 - react-redux - react bindings for redux
 - Immutable - data structures
 - Redux - awesome flux architecture
 - redux-thunk - thunk middleware for redux
 - isomorphic-fetch - API fetch network requests
 - redux-devtools - redux development tool
 - SASS - styles
 - ESLint - linter
 - Mocha - unit tests
 - jsdom - vdom to test React without browser
 - Chai - assertion library
 - A bunch of useful scripts
 
Scripts
- 
npm run webserver
Starts Koa server
 - 
npm run test
Runs unit tests
 - 
npm run test:watch
Watches for changes to run unit tests
 - 
npm run build
Bundles the application
 - 
npm run dev
Starts webpack development server
 - 
npm run lint
Runs the linter
 - 
npm run deploy
Creates the production ready files
 - 
npm run clean
Removes the bundled code and the production ready files