Code Monkey home page Code Monkey logo

hook.io's Introduction

 __    __    ______     ______    __  ___         __    ______   
|  |  |  |  /  __  \   /  __  \  |  |/  /        |  |  /  __  \  
|  |__|  | |  |  |  | |  |  |  | |  '  /         |  | |  |  |  | 
|   __   | |  |  |  | |  |  |  | |    <          |  | |  |  |  | 
|  |  |  | |  `--'  | |  `--'  | |  .  \    __   |  | |  `--'  | 
|__|  |__|  \______/   \______/  |__|\__\  (__)  |__|  \______/  

a full featured i/o framework for node.js

v0.7.4

hook.io creates a distributed node.js EventEmitter that works cross-process / cross-platform / cross-browser. Think of it like a real-time event bus that works anywhere JavaScript is supported.

You create custom i/o scenarios by picking and choosing from an extensive library of tiny, independent, autonomous "hooks" that seamlessly work together.

Features :

  • Build large, decoupled, distributed, and fault tolerant I/O heavy applications in node.js
  • Create hooks on ANY device that supports JavaScript (cross-browser support via socket.io)
  • Throw any block of sync or async code on a new process with a callback
  • Easily scale any tcp based messaging infrastructure (such as clustering socket.io chat rooms in memory)
  • Interprocess Message Publishing and Subscribing done through EventEmitter2 and dnode
  • Messaging API inherits and mimics Node's native EventEmitter API (with the help of EventEmitter2)
  • Spawning and Daemonizing of processes handled with Forever
  • Easily connect / disconnect hooks "hot" without affecting other services
  • Core library currently checking in at about ~450 lines of code

Available Hooks (more coming soon)

  • cron: Adds and removes jobs that emit hook.io events on a schedule
  • couch: Emit hook.io events based on your CouchDB _changes feed
  • irc: Full IRC bindings
  • helloworld
  • logger: Multi-transport Logger (Console, File, Redis, Mongo, Loggly)
  • mailer: Sends emails
  • sitemonitor: A low level Hook for monitoring web-sites.
  • request: Simple wrapper for http://github.com/mikeal/request
  • repl: Rainbow Powered REPL
  • twilio: Make calls and send SMS through Twilio
  • twitter: Wrapper to Twitter API
  • webhook: Emits received HTTP requests as hook.io events (with optional JSON-RPC 1.0 Support)

Getting Start / Demo

 npm install hook.io-helloworld -g

Now run:

 hookio-helloworld

Spawn up as many as you want. The first one becomes a server, the rest will become clients. Each helloworld hook emits a hello on an interval. Now watch the i/o party go!

Blog Posts

Distribute Node.js Apps with Hook.io: http://blog.nodejitsu.com/distribute-nodejs-apps-with-hookio

Tests

All tests are written with [vows][7] and require that you link hook.io to itself:

  $ cd /path/to/hook.io
  $ [sudo] npm link
  $ [sudo] npm link hook.io
  $ npm test

Core Hook.io Team

Marak Squires, Charlie Robbins, Jameson Lee

Contributors (through code and advice)

Substack, h1jinx, AvianFlu, Chapel, Dominic Tarr, Tim Smart, tmpvar, kadir pekel, perezd, mklabs, temsa

hook.io's People

Contributors

marak avatar indexzero avatar temsa avatar jamesonjlee avatar mklabs avatar tim-smart avatar pksunkara avatar avianflu avatar perezd avatar thejh avatar marsup avatar

Stargazers

Alvar Laigna avatar

Watchers

Alvar Laigna avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.