-
Notifications
You must be signed in to change notification settings - Fork 33
Backend (NodeJS)
Daniel Durante edited this page Feb 10, 2014
·
2 revisions
CleverStack provides a fully featured NodeJS development workflow.
Some highlights:
- NodeJS Application Core
- Modularity NPM Coding Structure
- Grunt Server with Live Restart
- Databases supported: mySQL, Portgres or MongoDB
- Modules for ORM and ODM (SQL & noSQL)
- NodeJS Background Tasks Module
- Unit & E2E Testing with Mocha
backend/
├── config/ # node app configs
├── lib/ # node app source files
├── modules/ # cleverstack app back-end modules
├── tests/ # app tests
├── Gruntfile.js # app grunt tasks
├── app.js # node express app
├── index.js # node process management
└── package.json # app npm dependencies
- global.json: This allows you to define the Global (default) application settings for all environments.
- local.json: This allows you to define the Applications config for the "local" environment. (presuming your NODE_ENV=local, or you have not set it.)
- $NODE_ENV.json: This allows you to define whatever environment names make sense for your application, which will be merged with the global.json from the application's /config/ directory, the default.json (and/or global.json) from each module and $NODE_ENV.json from each module's config folder.
- This folder contains the core of the Cleverstack Node Seed.
- You can place global Classes, Controllers, Utils (etc) in the lib/$resource_name folder and it will be available via require('classes').$resource_name.
- This is where all of the Cleverstack modules will be installed into your application.
- You can also add custom modules inside this folder, or even NPM modules.
- The main entry point of a clustered application.
- If the background-tasks module is installed and enabled, this will setup the background task process.
- Defines the Applications global (main) gruntConfig.
- Registers the Applications included Grunt tasks.
- Use this script to spawn a single processed Application, useful for debugging with node-inspector. (Note: You will need to manually set your NODE_PATH for this script to work.)
- Defines the Application and it's NPM dependencies.
- Defines the modules that are enabled, using the bundledDependencies[] array. (This also let's NPM know that these dependencies are local and not on the NPM Registry)
Prev: Frontend (AngularJS) | Next: Modules