This is a simple web application for maintaining a list of nodes (and subnets) within a mesh network such as Freifunk.
Instead of trying to mess with automated data aggregation and doing funky statistics stuff this database is focused on rather “offline” data to be maintained by the node owners. A major design principle applied is KISS. Currently there is no aggregation of live data (except for the live map layer and the topology graph which both are being generated by external scripts by now).
For a live installation visit db.hannover.freifunk.net
It’s development has just started and therefore most of the features are yet listed as planned.
-
IP Address validation to ensure unique, separate addresses
-
Auto-generation/proposal of IP addresses for Subnets and Nodes
-
Geo location lookup for node based on given postal address
-
Map displaying nodes
-
Base Layer from OpenStreetMap.org
-
Main Layer displays data from the node database
-
Additional layers to display data from external datasources (e.g. OLSR nameservice plugin)
-
-
User self-signup with E-Mail activation and password reminder
-
Simple role based authorization
-
Basic admin backend
-
RESTful Webservice interface
-
“Click here to join Freifunk”-Wizard for users with very limited technical knowledge
-
Suggest existing nearby subnet based on geo location
-
-
Messaging system (allow sending emails to people without exposing their email to the public)
-
Search function
-
Tags (acts_as_taggable?)
-
Localization
-
Gradual engagement (nobody likes signup forms)
-
Enrich user profiles, e.g. avatar, jabber, etc.
-
Require HTTPS for sensitive actions
-
Mass mailer for admin (ar_mailer)
-
Rewrite cgi-bin-map.kml in ruby: add caching and filters
-
Rewrite topo.pl in ruby: add caching and filters
-
Clone main application
$ git clone git://github.com/knox/nodes.git
-
Clone plugins
$ git submodule init $ git submodule update
-
Create configuration files to suit your needs
$ cp config/database.yml.sample config/database.yml $ vi config/database.yml $ cp config/config.yml.sample config/config.yml $ vi config/config.yml
-
Generate site key (encrypts user passwords)
$ rake auth:gen:site_key
-
Create database, load chema and initialize with the seed data
$ rake db:setup
-
Write tests (RSpec?)
-
Write documentation (github wiki)
-
Graceful handling of invalid requests (respond with http 404 where appropriate)
-
Polish geo location lookup (separate controller)
-
Polish map layer
-
Geokit-Rails by Bill Eisenhauer & Andre Lewis is released under the MIT License
http://github.com/andre/geokit-rails
-
MapLayers by Pirmin Kalberer is released under the MIT License
http://github.com/pka/map_layers
-
restful_authentication by Rick Olson is released under the MIT License
http://github.com/technoweenie/restful-authentication
-
role_requirement by Timothy Curtis Harper and Jonathan Barket is released under the MIT License
http://github.com/timcharper/role_requirement
-
StripAttributes by Ryan McGeary is released under the MIT License
http://github.com/rmm5t/strip_attributes
-
will_paginate by Mislav Marohnic and PJ Hyett is released under the MIT License
http://github.com/mislav/will_paginate
-
ujs_sort_helper by Stuart Rackham and Wynn Netherland is released under the MIT license
http://github.com/pengwynn/ujs_sort_helper
This application is inspired by FFSomething
https://dev.leipzig.freifunk.net/trac/wiki/FFSomething
The cgi-bin-map.kml script is written by Sven-Ola and was published on the OLSR Mailinglist
http://lists.olsr.org/pipermail/olsr-dev/2008-August/002369.html
Most of the authentication and authorization stuff has been taken from the nice tutorial by Matthew Solt, released under the MIT License
http://github.com/activefx/restful_authentication_tutorial
Freifunk Node Database is released under the MIT license.
Copyright © 2009, 2010 Mikolas Bingemer