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 [email protected]
$ 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