##Basic Application Boilerplate
This project contains the foundations for a web application using some of my favorite technologies. I use it is a reference when I start creating a new application.
This is a Node/Backbone application. Node.js is used for my server and Backbone.js is used as my client side JS framework.
###Technologies Used
Server Side
- Express.js as my http server framework. Its Great!
- Express3 Handlebars for my view engine integration
- [mongodb] 14 for session storage and data storage
Client Side
- jquery.js why do you ask?
- require.js AMD script loader because your mom told you so
- Backbone.js for client side architecture
- Underscore.js because we have been together so long and we are comfortable
Building and Packaging
- [Grunt.js] 5 for task automation
- [Less] 11 CSS pre-processor for more maintainable css
- [Bower] 12 for my client side dependency package manager
Testing
###Getting Started
- Clone project
https://github.com/dwaltz/Basic-Application-Boilerplate.git
- Install/run local instance of mongodb
- Switch into the folder you just cloned and run
npm install
- Then install your client dependencies by running
bower install
- Start the app with 'node app'
###Build Process via GruntJS
-
default
- Runs jshint
- Runs qunit task
- Runs optimizeJS task
- Runs optimizeCSS task
- Optimizes Images
-
watch-css
- Runs LESS watcher
-
optimizeJS
(start of the optimized version)- Runs clean on
optimized
folder - Runs requirejs, minifying and comibining JS
- Runs clean on
-
optimizeCSS
- Runs recess on
public/css/styles.less
- compresses to
public/css/styles.css
- compresses to
- Runs recess on
-
test
- Runs jshint
- Runs qunit task
###Items to work on
- Implement server side code testing
- Create more complete client application example
###Special Thanks