##built.io Application Framework for NodeJS
A framework thats built on top of Express Framework and it helps the javascript developers to start developing javascript application using node js on the server side.
Basic features provided by this framework is as follows:
- Organize the code in well defined directory structure and implies some convention to be follow at the time of development
- Helps to utilize the CPU core based on configurable value.
- Forever-monitor module integrated in framework for making sure application run for forever
- Proxy Module : It helps to proxy the request and provide the way to intercept the request before the proxy call is made . It provides three types of hooks for the request
- before: Can intercept the proxy call and allows to change the request parameters and headers.
- after: Its an async hook and fires when the request is completed
- error: Its an async hook and fires when error occurred in the request
- Log Module: It provide two types of logging
- User Log: It logs all the console.log statements in the user_log{stamp}.LOG file located in log directory. Developers can turn it on/off based on the configuration.
- Error Log: It logs all the error occured in application in the error_log{stamp}.LOG file located in log directory.
- Routes/Resource: It help to define the routes/resource of an application in route.json file located in config directory.
- Environment Configs: It helps to defined different environment configuration and load accordingly.
###Directory Structure:
To create an application developer has to only deal with app directory located in application root.
Dir/Files | Purpose |
app/ | Contains client and server directory |
app/client | Contains all client side files publically accessible like JS, CSS, IMAGES |
app/server | Contains all server side files |
app/server/config | Contains configuration files |
app/server/config/environment | Contains development and production configuration files |
app/server/config/environment/development.json | Contains application configuration for development mode |
app/server/config/environment/production.json | Contains application configuration for production mode |
app/server/config/app_events.json | Contains hooks for application events like init, error etc. |
app/server/config/proxy.json | Contains proxy routes |
app/server/config/route.json | Contains all routes and resources of an application |
app/server/controllers | Contains all controllers of an application |
app/server/files | File uploaded via client automatically available in this directory |
app/server/node_modules | Contains Third party node modules required for an application |
app/server/templates | Contains application templates |
app/server/package.json | Contains all configuration of an application |
app/log | Contains application log files |