A boilerplate to quick start JavaScript Isomorphic Web Applications
- 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.
Node.js v0.10.33 installed at least.
$ npm install -g [email protected]
$ npm install -g babel browserify nodemon
$ npm install
$ npm run build
$ npm start
And open your browser on http://localhost:3000
.
├── /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.
│ │ ├── /client/ # Client-side startup script.
│ │ ├── /server/ # Server-side startup script.
│ │ ├── /shared/ # Shared components between Client-Server.
│ │ │ ├── /components/ # React components.
│ │ │ └── routes.js # Shared routes between Client-Server.
│ │ └── config.js # App config (URLs, names, etc...).
│ └── /styles/ # Stylesheets coding with Stylus Preprocessor.
├── 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 # ECMAScript 6 and React linter.
├── .jscsrc # JavaScript code styles
└── .stylintc # Stylus CSS code style
Open Source. MIT © Carlos Azaustre