Awesome
UniversalJS Boilerplate
A boilerplate to quick start JavaScript Isomorphic Web Applications
Technology Stack
- ES2015 / ECMAScript 6th Edition - the upcoming version of the ECMAScript standard.
- Babel - Next generation JavaScript, today.
- Browserify - Browserify lets you require('modules') in the browser by bundling up all of your dependencies.
- React - A JavaScript library for building user interfaces.
- React Router - Complete routing solution designed specifically for React.js.
- React Engine - A composite render engine for isomorphic express apps to render both plain react views and react-router views.
- Stylus - Expressive, dynamic, robust CSS
- NodeJS - Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
- Express - Fast, unopinionated, minimalist web framework for Node.js.
- Gulp - Automate and enhance your workflow.
Requirements and Install
Node.js v0.10.33 installed at least.
$ npm install -g gulp@3.9.0
$ npm install -g babel browserify nodemon
$ npm install
$ npm run build
$ npm start
And open your browser on http://localhost:3000
Folder structure
.
├── /build/ # Transpiled and minifiqued output files.
├── /docs/ # Documentation about your project.
├── /node_modules/ # Node Modules and 3rd-party libraries.
├── /src/ # Source code of the web application.
│ ├── /app/ # Isomorphic App source code.
│ │ ├── /components/ # React components.
│ │ ├── /containers/ # Redux containers.
│ │ └── routes.js # Shared routes between Client-Server.
│ │ └── client.js #
│ │ └── server.js #
│ │ └── config.js # App config (URLs, names, etc...).
│ └── /styles/ # Stylesheets coding with Stylus Preprocessor.
├── /tasks/ # Gulp tasks for build the client part
├── gulpfile.babel.js # Config file for automated Builders.
├── package.json # App manifest and list of libraries installed.
├── .editorconfig # define and maintain consistent coding styles.
├── .eslintrc # ECMAScript6 and React Code linter.
├── .babelrc # babel ES6 rules.
├── .jscsrc # JavaScript Code styles.
└── .stylintc # Stylus CSS Code style.
License
Open Source. MIT © Carlos Azaustre