A Yeoman generator for generating kick-ass NodeJS Web Applications
- Declarative RESTful API
- React and Angular client implementations
- OAuth Scaffolding (Facebook, Twitter, Github, Google)
- Extensible Gulp build system
- Testing examples
- Client-only mode
- MongoDB/Mongoose persistence
> npm install generator-ats-node-webapp -g
> yo ats-node-webapp
- client (optional) - Possible Values:
react
,angular
- server (optional) - Possible Values:
full
,thin
- oauthStrategies (optional) - Possible Values (comma-separated):
google
,github
,facebook
,twitter
generated_project
└───gulp/ (Build System)
├───tasks/ (task files, automatically included during build)
└───config/ (Application Configuration)
├───custom-environment-variables.coffee (Environment-Variable => Configuration Mapping)
├───default.coffee (Default configuration - always included as base layer)
├───<environment>.coffee (Environment-specific configuration)
└───scripts
├───npm/ (scripts executed by npm)
├───git/ (git hooks)
└───server
├───components/ (application components, should be class-based, testable)
├───errors/ (custom error types, optionally contain an errorCode property to configure HTTP response codes)
├───initialization/ (server initialization scripts)
├───middleware/ (functions that are composed to define RESTful endpoints. These should interact with the domain, but not contain domain logic.)
├───persistence/ (mongoose setup)
├───models/ (mongoose models definitions using Mongoose-Organizer)
├───routers/ (RESTful endpoint definitions)
├───routers.spec/ (RESTful endpoint tests, separate folder because routers is scanned by express-mountie)
└───client (Web Client Implementation - e.g. React, Angular)
├───app.js (bundled by browserify)
├───assets/ (static assets)
├───styles/ (Sass)
ATS ❤ Yeoman