A Yeoman generator for generating awesome module or app boilerplates! MEAN-stack (all parts optional) with scalability in mind and with Grunt and Bower sweetness..
The Klei generator is built with scalability in mind. Which means that it doesn't have one file per object type (think AngularJS directives e.g) and neither one directory per object type, which is really common but not particularly good in the long run.
Instead the Klei generator advocates (and creates, particularly the subgenerators) one directory per module. Here's a great read on scalable code organization with AngularJS.
$ npm install -g yo
$ npm install -g generator-klei
This is only needed if "Client APP" or "Stylesheets" are to be chosen in the generator.
$ npm install -g bower
$ yo klei
$ grunt serve
Don't forget that your mongodb server should already be running! (if you chose MongoDB in the generator)
The generator doesn't yet generate a fully production ready configuration following all best practices, but at least you must do the following steps:
Build everything and run the static resource server (a
connect server) with:
$ grunt serve:dist
First build everything for distribution:
$ grunt dist
Then run the server:
$ NODE_ENV=production node src/index.js
N.B. You should be using something like Forever or similar to keep the server up and running.
The Klei Generator asks you what type of module you want to build, then you pick the parts you want from:
Try it out!
$ yo klei:api "<you new api name here>"
$ yo klei:api
And follow the guide.
The name you give to your new API will be camelized and used as:
./src/api/<newApiNameHere>/<newApiNameHere>.controller.js which in turn will be mounted at the url:
The generator will ask if you want to create a new Mongoose model as well.
Please feel free to contribute and help with building the best boilerplate for a great developer experience! I gladly accept pull requests!