webapp-template

Web application structure template (layout), starting point for backbone + requirejs + twitter bootstrap application compiled by nodejs and running on any web server or phonegap environment :-)

Stars
31
Committers
1

webapp-template Build Status

Web application structure template (layout), starting point for backbone + requirejs + twitter bootstrap application compiled by nodejs and running on any web server or phonegap environment :-)

Live development deployment at:

MVC

  • take advantage of convention over configuration.
  • any controller should be placed on 'controller' directory and extends 'controller/Controller', should be named with affix: 'Controller'.
  • any view should be placed on 'view' directory and extends 'view/BaseView', should be named with affix: 'View'.

url mapping with MVC

  • By default, application uses hash value for router to dispatch to accordingly controller by pattern: /:controller/:action/*params.

Run the application

  • Make sure to have latest node installed (with version as 0.6.x and above)

  • Make sure to have 'make'

  • You must run this command first to have node modules installed: make or make resolve

  • Check style with jshint: make check-style

  • Test the application: make test

  • Run the application on development mode: make run-dev

  • Run the application on development mode with remote debug: make run-dev-debug. See notice on section: Remote debug the application with make run-dev-debug below.

  • Run this application on production mode: make run-prod

  • Access application: http://localhost:8080

  • Access browser tests: http://localhost:8080/browser (only on development mode)

  • Package the production application: make package

  • Clean the production application build: make clean

Remote debug the application with make run-dev-debug

Develop web application for phonegap?

  • On Android:
    • Copy all files and directories of webapp-template to assets directory
    • Copy cordova-{version}.js to webapp directory
    • On dev mode: Set super.loadUrl("file:///android_asset/webapp/index.html");
    • On prod mode:
      • Run these commands: make resolve, then make install
      • Set super.loadUrl("file:///android_asset/public/index.html");
    • Packaging:
      • Make sure on prod mode
      • Keep only public directory
      • Packaging the app as normal Android application and you're done :-)

Make build lifecycle phrases:

  • clean
  • resolve (dependencies resolver)
  • check-style (check-style-common, check-style-vsf)
  • test (test-common-unit, test-vsf-unit)
  • package
  • install
  • run-dev
  • run-prod
  • run (as same as run-prod)
  • deploy

Deployment

There are built-in configurations for heroku and dotcloud. Just push this repo and it will be deployed.

FAQ

  • I get this error below when running make run, make run-dev or make run:

=> The node modules are not installed. You need to run: make resolve first. resolve target can not make it into make run as it will involve npm install and heroku does not allow ```npm`` (?) on deployment. The error is something like this:

  • I get this error below when running the command: make run-prod:

=> Please make sure you have the project under a directory that you have write permission on files.

  • I get error below when running the command: make run, make run-dev or make run-prod:

=> You need to change the default port (8080) on server.js to another not used port and it should work.

Mobile Web App Template

There is mobile-webapp-template project basing on this project which is intended for mobile web application development.

License