Skip to content

sitcomlab/Ethermap

 
 

Repository files navigation

Ethermap

Ethermap is a real-time collaborative map editor allowing:

  • synchronization of geoobjects between all clients
  • visual highlights of changes creating user-awareness
  • watching other users or show their current workarea
  • basic feature version control (browse older revisions and revert changes)
  • communicating about specific features within the chat

How does it work? shortly explains the overall concept.

For a demo (desktop only), open the website with several browsers log into the same map id with different user names. Or check out the video.

The application has been built as part of my master thesis at the ifgi (Institute for Geoinformatics, WWU Münster).

Technologies

Install dependencies (Ubuntu)

It is assumed that you have installed node.js (developed using 0.10.26)

sudo apt-get install couchdb
npm install -g grunt-cli
npm install -g bower
npm install -g forever

Run for Development

npm install
bower install
grunt serve

Run for Production (Linux)

npm install
bower install
grunt build
NODE_ENV=production forever -o out.log -e err.log start dist/server.js

Run for Production (Windows)

npm install
bower install
grunt build
set NODE_ENV=production
forever -o out.log -e err.log start dist/server.js

or with Docker

It may be necessary to rename the folder Ethermap to ethermap (note the lower case e), as Docker cannot create things with uppercase names.

docker-compose up

Ethermap will be available from http://localhost:8080

Testing

Tests are based on Karma + Jasmine

For single test runs:

grunt test

For continuous testing:

npm install -g karma-cli
karma start

Create the JSDoc pages

grunt docs

License

Apache v2.0 - Dennis Wilhelm 2014

About

Ethermap - A realtime collaborative, version controlled map editor.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 82.9%
  • HTML 11.4%
  • CSS 5.3%
  • Dockerfile 0.4%