/nerd-stack

Hipsterer than MEAN stack. Node.js, Express, React and Database connectivity application skeleton

Primary LanguageJavaScriptMIT LicenseMIT

Build Status Coverage Status Dependencies devDependency Status

NERD stack

The NERD stack provides you with an application skeleton with Node.js, Express, React and database connectivity. It provides user with an opportunity to start quickly developing both large and small scale isomorphic/universal javascript web applications using Flux architecture. The skeleton has in place implementations for:

  • A server backend using Node.js and Express
  • View layer rendered by Facebook's React framework
  • Establish database connectivity and perform standard CRUD operations
  • Universal JS application architecture sharing resources on server and client
  • Unidirectional data flow using Flux architecture
  • Gulp build tasks to run the server with automatic restarts and livereload
  • Frontend resource bundling and sourcemaps
  • Sourcecode linting to ensure code quality
  • Test runner and test coverage reporting with Mocha and Istanbul
  • ES6 transpilation using Babel

The purpose of this application skeleton is to empower developers to be able to start developing their Node.js + React easily but still maintaining enough wiggle room to not get constrained into heavy frameworks.

[You can find more information on the app from the wiki] (https://github.com/Xantier/nerd-stack/wiki)

Installation

####Environment #### The tools of the trade for this application development stack are node.js, git and your preferred database implementation. You can install node.js for Windows or Mac from https://nodejs.org/download/ For Linux you can follow instructions on https://github.com/joyent/node/wiki/Installation

To install git you can download it from http://git-scm.com/downloads or use your package manager to install it.

####Databases#### The application contains multiple implementations of databases. After you have decided which database to use you need to have it running on your local machine to be able to start developing your next big web application with NERD stack. Installation instructions for different databases:

####Configuration#### You can select your database implementation by modifying configuration file called config.json in app/config/ folder. In the file replace the db attribute with your chosen implementation. Actual DB settings are listed below under their respective names. Please make sure to setup your system how you have configured your database itself. Good things to change are hostname, database name and user credentials.

##Running##

To run this application you can install this app with usual commands:

git clone git@github.com:Xantier/nerd-stack.git
npm install
gulp dev

When you are happy with your application and plan to run it without development mode you can invoke the following commands:

gulp build 

To build the latest frontend resources and

node /config/server.js 

To start the server. It is recommended to use something like supervisor to run the application when uptime is important.

#Licence#

The MIT License