/grid-angularjs

Testing distributed computing with angular.js (MEAN)

Primary LanguageJavaScript

grid angular.js

Build Status Coverage Status Dependency Status Dev Dependency Status Heroku

Distributed Computing Grid

Server sends to each socket.io websocket client a region of the image for processing. Then the result is stored and shared within the network.
For supporting high concurrency, the backend distributes events between redis instances, handled by socket.io-redis. Nodes can be added anytime, at any layer.

Running docker

$ eval $(docker-machine env default)
$ docker-compose up --build -d
$ docker-compose scale web=2

Exposed port '88'

Running from source

Prepare enviroment

OSX

Install XQuartz, then...

$ brew install cairo

Set env

$ export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig

Linux

$ sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

Install

  $ npm install -g bower grunt-cli

  $ npm install

  $ bower install

Run embedded server

You need a running local mongodb instance. (For OSX, 'brew install mongodb')

$ grunt serve

Open location in browser

http://localhost:9000