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