The CouchDB server design document for LibreMap - a scalable, global and decentralized router database and map visualization for community networks, such as guifi, AlterMundi, FunkFeuer, ninux, freifunk, Commotion...
JavaScript Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ddoc-vendor/views/lib
ddoc
maintenance
.gitignore
Gruntfile.js
LICENSE
README.md
couch.json.example
couchdb-browserify-glue-footer.js
couchdb-browserify-glue-module.js
doc-api-router.md
doc-api.md
doc-install.md
libremap-instances.json
package.json

README.md

LibreMap

LibreMap is a scalable, global and decentralized router database and map visualization for community networks, such as guifi, Altermundi, FunkFeuer, ninux, freifunk, Commotion... It emerged around the is4cwn by merging the maps of AlterMap (Altermundi) and OpenWiFiMap (freifunk).

LibreMap consists of 2 main parts:

  • libremap-webui: the HTML5 web app, see libremap.net.
  • libremap-api (this repo!): the CouchDB server design document that exposes the LibreMap API.

Goals of LibreMap:

  • show the state of all community networks, both on a global and local scale.
  • decentralized.
  • easy to use and extend.
  • independent of involved routing protocols and other technical details.
  • scale up to global level (>100k routers).
  • share open data for community networks.

There's a presentation (slides) from the is4cwn that explains the concept and some details.

Under the hood

  • Built with CouchDB and GeoCouch.
  • HTTP REST API.
  • Decentralized/federated with CouchDB's built-in replication.
  • Each community can set up its own LibreMap instance (see the install docs) and let it replicate to/from existing instances (see the list of LibreMap instances). The replication may look like this: Replication illustration

Join the LibreMap network!

If you're interested in setting up an LibreMap instance, then head over to the docs and don't be shy if you have questions -- get in touch with us!. When your instance is up and running, please include it in the libremap-instances.json file of this repo.

Documentation

Bugs and feature requests

Please use the issues tracker if you found a bug or have an idea how to improve LibreMap!

Contact

LibreMap is maintained by André and Nico. There is a mailing list for questions and discussions about LibreMap, so feel free to drop a line there!

License

LibreMap is licensed under GPL3.