hunt

High level nodejs framework build on top of expressjs, mongoose, sequilize, socketio and passportjs

HuntJS

![Gitter](https://badges.gitter.im/Join Chat.svg)

"Hello, world!" Example

This is short, basic, "hello, world!" example, to start http server on 3000 port.

 
  require('hunt')({
   'port': 3000
  })
  .extendController('/', function (corerouter) {
    router.get('/', function (reqres) {
      res.send('Hello, world!');
    });
  })
  .startWebServer();
 

Documentation and live example

https://huntjs.herokuapp.com/

Tutorials

More examples

https://github.com/vodolaz095/hunt/tree/master/examples/

Shameless advertisement

You can hire the author of this package by Odesk - https://www.odesk.com/users/~0120ba573d09c66c51

Use cases

http://pageshooter.herokuapp.com/ - application to make site screenshots as PNG images. Some income from Google Adsense.

What do you get from the box?

Just run npm install hunt and you get ready to use high level nodejs framework, that links together many preconfigured and working perfectly together modules. This is it. Hunt...

  • works on latest versions of NodeJS >=0.10.26

  • is a real event driven (by pattern Observer) framework build on top of ExpressJS, suitable not only for creating HTTP-based web applications, but background services, binary protocol applications, websockets or even xmpp based applications.

  • Mongo database and Mongoose ORM support from the box

  • sequelizejs ORM for MySQL, PostgreSQL, sqlite and MariaDB via official plugin - Hunt-Sequilize.

  • The best sides of express.js framework are supported: routing, middlewares, controllers. And this is done in clever way - expressjs application can be easily converted to Hunt application.

  • Popular template engines are supported - Mustache, Swig, jade.

  • Powerful users model to use at your application, with customizable profile, groups, and compatibility with majority of passport.js strategies, custom profile data and build up with Active Record and Observer patterns

  • Redis database support from the box, with default use of it as session storage and socket.io backend.

  • Hunt applications are easy to run on Heroku hosting - many config values (mongo/redis database access URLs, etc...) are populated automatically

  • Clustering by the means of nodejs build in load balancer

  • Websocket, Htmlfile, xhr-polling, jsonp-polling for real time push messages are supported by the means of socket.io and works from the box, even with websockets working on nginx and heroku

  • socket.io is perfectly linked with user model and passportjs authorization system, so you can send realtime notifications to users online just like this

  • Possibility to run HuntJs as Telnet - server with TLS support, authentication and expandable commands' list, created with help of RAI server

System requirements

  • Linux (this is your problem, if you want to build this package on other operating systems)
  • NodeJS >= 0.10.26 (version build from source is preferable, because hunt builds some dependencies from source)
  • Redis >= 2.6.16
  • Mongo >= 2.4.6 (optional)
  • MySQL >= 5.6.16 (optional)
  • PostgreSQL >= 9.2 (optional)

Important!

Without understanding how express.js framework operates, including

this module is hard to understand. Please, read this information above before processing with this framework.

Deploying the HuntJS application for production

We will post some advices and configuration examples: https://github.com/vodolaz095/hunt/tree/master/examples/serverConfigsExamples

License

The MIT License (MIT)

Copyright (c) 2013 Ostroumov Anatolij ostroumov095(at)gmail(dot)com et al.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.