This project is first to train with tools like GruntJS, Yeoman, Backbone.js, Marionette.js... And then I used it as Boilerplate.
- Mongodb
- Install on Ubuntu
- Install on OS X
- Yeoman: required by generator-marionette
- generator-marionette: Allows the use of yo command to generate routers, models, views ...
$ git clone [email protected]:kiki-le-singe/marionette-boilerplate.git
$ cd marionette-boilerplate
$ npm install
$ bower install
$ grunt serve
Then serve the app on localhost:9000
and opens your default browser
$ grunt serve --stub
Makes the same thing that the above command, except that the 'stub' option allows to enabled or not the retrieving of fake datas.
$ grunt test
Runs tests located in /tests/js/spec
.
You can access tests in your browser, simply create a vhost.
$ grunt dist
Build the application in /dist
.
$ grunt build
Create a .tgz archive named marionette-boilerplate-[version]
.
$ grunt docs
Generates a html doc of your documented code in /docs
and open it in your browser.
$ grunt plato
Generate complexity analysis reports in /reports
with plato.
$ grunt changelog
Generate a markdown changelog from git commit data. grunt-conventional-changelog.
$ gulp serve
Then serve the app on localhost:3000
and opens your default browser
$ gulp serve --stub
Makes the same thing that the above command, except that the 'stub' option allows to enabled or not the retrieving of fake datas.
$ gulp test
Coming soon...
$ gulp dist
Build the application in /dist
.
$ gulp build
Create a .zip archive named marionette-boilerplate-[version]
.
$ gulp docs
Coming soon...
$ gulp plato
Coming soon...
$ gulp changelog
Coming soon...
Why to use Backbone.wreqr and Backbone.radio? Marionette require Backbone.wreqr for internal use only and I use Backbone.radio instead of Backbone.wreqr in my boilerplate but it's not mandatory.
- Backbone.js
- Marionette.js
- Backbone.babysitter
- Backbone.wreqr
- Backbone.radio
- Require.js
- jQuery 2
- Lo-Dash V3
- Handlebars
- Modernizr
By default the root access for the API is http://localhost:9000/api. Available example: http://localhost:9000/api/libraries
The library used for tests are :
The configuration of the application is located in /app/config
Handlebars helpers is located in /app/scripts/helpers
- Yeoman
- generator-marionette: Marionette Boilerplate is based on it
- mongo-express: If you use MongoDB, look at this node modules. It's an convenient admin interface for MongoDB.
- To enjoy livereload don't forget download the chrome plugin. (useless only for the use of Grunt. browsersync coming soon)