Skip to content
This repository has been archived by the owner on Jan 2, 2023. It is now read-only.
/ nodes Public archive

Freifunk Node Database

License

Notifications You must be signed in to change notification settings

knox/nodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Freifunk Node Database

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.

Features

  • 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

Planned Features

  • “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

Installation

  1. Clone main application

    $ git clone git://github.com/knox/nodes.git
  2. Clone plugins

    $ git submodule init
    $ git submodule update
  3. 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
  4. Generate site key (encrypts user passwords)

    $ rake auth:gen:site_key
  5. Create database, load chema and initialize with the seed data

    $ rake db:setup

Todo

  • 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

Plugins / Gems

  • 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
    

References

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

License

Freifunk Node Database is released under the MIT license.

Copyright © 2009, 2010 Mikolas Bingemer

About

Freifunk Node Database

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published