Hi,
Oliver hatte vor einigen Tagen schon einen Thread zur Optimierung der
bestehenden Freifunk Karte geöffnet. Ich würde an das Thema gerne anknüpfen,
allerdings mit dem Vorschlag des Neuentwurfs einer Kartenanwendung im Netmon
Universum.
Wenn ich das richtig sehe, dann hat die bestehende Karte relativ fundamentale
Probleme beim Anzeigen großer Datensätze und ich glaube mit Blick auf die
Zukunft lohnt es sich dieses Thema nochmal im speziellen anzugehen.
Falls da Interesse besteht, habe ich hier unter dem Punkt "Map-Client" einmal
kurz alles zusammengefasst was mir an relevanten Punkten dazu einfällt:
https://pad.freifunk.net/p/netmon-module
Viele Grüße
Clemens
Hi folks,
after two years of hard development I'm proud to release a preview of the new
Netmon software compilation.
The release currently consists of three applications:
1. The Netmon Server
+++
The Netmon Server is written in PHP using the Laravel framework and provides:
* a database to store data
* a fully featured usermanagement
* an authentication layer using stateless token authentication implemented
on JWT
* an authorisation layer following the Attribute Based Access Control pattern
* a software stack that provides a basic REST API (CRUD) with HATEOAS
support using the JSON:API format
* a module layer that allows extending the basic server and turning it into a
fully featured application using the module pattern
More informations and installation manual can be found at:
https://git.ffnw.de/netmon-sc/api-server
2. The Devices-Module (extending the Netmon Server)
+++
The Devices module is written in PHP and provides:
* routes to manage devices (better known as Freifunk nodes)
* routes to manage statusdata for devices
To install the Devices module please take a look at:
https://git.ffnw.de/netmon-sc/api-devices
3. The Netmon Web-Client
+++
The Netmon Web-Client is written in Typescript using the Angular 2 framework
and provides
* A GUI to turn the data provided by the Netmon Server into a web application
that can be used by humans
To install the Netmon Web-Client please take a look at:
https://git.ffnw.de/netmon-sc/web-client
Extendable - Maintainable - Scalable
+++
All three appications are developed to be heavily extendable by using the
module pattern. The size of each module is made handsome small so that each
module can be developed and maintained by a single person. This allows the
software to grow fast but stay maintainable and customizable all time.
The software compilations architecture in general is designed to be a
distributed system. To benefit from this I took care of the REST API to be
truly stateless thus allowing it to be scaled up horizontally verry easily if
your userbase grows.
Development status
+++
The status of the software is preview - better known as beta. This means the
software is mainly feature complete but is missing documentation, bugs
occur sometimes and not all parts are as shiny as they would be in a stable
release.
The first stable version 1.0 of all three applications is sheduled for December
31th 2016. This is about one month of time that I will use to iron out last
bugs and finish documentation. The goal of the first stable version is, to
deploy a basic but fully working freifunk node monitoring process. From
registering a node at the Netmon Server up to viewing the node in a node list
and receiving regulary updated statusdata.
Taking part in development
+++
Starting with the stable release in 2017 I would like to invite you to take
part in development by taking up the responsibility for existing modules and
to develop new modules which your community might need. Some ideas are
gathered here: https://pad.freifunk.net/p/netmon-module
If you cant wait and want to start developing now, please consider to become
maintainer of the (currently unstarted) Node Client:
https://git.ffnw.de/netmon-sc/node-client
Just watching the demo
+++
Last but not least I prepared a demo for you. Signup and play around (data
will be deleted on stable release). And dont forget to hit "Strg+Shift+K" in
Firefox; The really interesting parts take place on the "Network"-Tab" ;)
Web-Client: https://netmon.ffnw.de
API-Server: https://api.netmon.ffnw.de
Best whishes
Clemens
Moin,
(hier ist ja echt wenig los, aber die Listen hat schon jemand
abonniert?)
ich war gestern beim Treffen und hab dort angekündigt, dass ich gerne
behilflich bin, die map.ffnw.de zu optimieren.
Mit solchen Anwendungen habe ich täglich zu tun, da ich beruflich
Software im Geo/Karten-Umfeld entwickle. Mit
JavaScript/Client-Anwendungen hab ich zwar direkt nichts zu tun (dafür
hab ich Kollegen :-)), aber ich kenne mich da trotzdem etwas aus.
Ich hab gestern mit Eike schon besprochen was man bei einer neuen
Anwendung berücksichtigen sollte. Hauptsächlich sollten die Daten direkt
als GeoJSON geladen werden. Den Rest macht dann Leaflet schon
automatisch. Das GeoJSON sollte dann auch nur die Informationen
beinhalten, die tatsächlich benötigt werden (für die Karte benötigt man
sicherlich nicht die Softwareversionsstände).
Ich hab die node/graph.json mal in GeoJSON umgewandelt und ne kleine
Demo mit Leaflet erstellt. Sind 3.5k Nodes und 3.2k Links:
http://bogosoft.com/misc/ffnwmap/
Code ist unter: https://gitlab.com/olt/ffnw-map-demo
Kurzfristig sollte auf map.ffnw.de im Nginx `gzip on` und `gzip_types
application/json`. Das macht die Anwendung nicht schneller, die Ladezeit
sollte sich aber verkürzen. Aus 4 MB JSON sollten 0.5 MB werden.
Gruß,
Olli