[Internet] Mein Bewegungslog

Auch wenn es jetzt schon seit einiger Zeit im Gebrauch ist und ich schon ein paar Mal darauf hingewiesen habe, möchte ich mein Online-Bewegungsprotokoll noch einmal etwasdetailliertervorstellen. Vor allem auch um auf die Fragen nach der Technik ein wenig näher einzugehen.

Das System basiert auf zwei Teilen, die beide auf dem Webserver laufen. Der eine Teil ist ein Ruby-Script, welches mit einer eigenen Bibliothek GPX-Dateien auslesen kann und die Werte, die es aus den aufgezeichneten Spuren ermittelt, dann in eine Datenbank schreibt. Dieses Script wird durch einen Cronjob alle 10 Minuten aufgerufen und prüft in einem vorher definierten Verzeichnis, ob neue GPX-Dateien dazu gekommen sind.

Der zweite Teil ist das "Frontend", welches ebenfalls ein Ruby-Script ist. Dieses Script läuft als CGI-Script auf dem Webserver und ist somit nach außen erreichbar. Seine einzige Aufgabe ist es die Daten aus der Datenbank zu lesen, mit einem ERB-Template (HTML mit wenig Ruby-Code) aufzubereiten und an den Browser auszuliefern. Zusätzlich gibt es noch die Kartenansicht, welche mit der Openstreetmap-Javascript-Bibliothek und der GPX-Datei die Spur visualisiert. Die Kartendaten dafür werden vom Openstreetmap-Server geladen und sind damit unter einer CC-BY-SA-Lizenz verfügbar (Verhindert rechtliche Probleme mit den Karten).

Die GPX-Dateien entstammen der Track-Aufzeichnung eines Garmin eTrex Legend HCx, welches mich bei meinen Runden begleitet und die Position via GPS aufzeichnet.

Alles in allem ein recht einfaches System, welches aber seinen Zweck gut erfüllt: Es zeigt, was ich an Bewegung leiste. Dabei ist dem System egal ob ich gehe, Jogge oder mit dem Rad fahre. Bei mir kommt zwar (bisher) nur die erste Variante zum Zuge aber möglich ist die Auswertung aller Tracks, die irgendwie aufgezeichnet werden.

Ich stelle die Software - so weit es den von mir geschriebenen Code betrifft - unter einer MIT-Lizenz zur Verfügung. Ihr könnt also wenn es euch interessiert das Script zum Lernen, Verbessern, für die eigenen Statistiken etc. verwenden. Die verwendeten Javascript-Bibliotheken stehen selbstverständlich unter ihren jeweiligen eigenen Lizenzen. Beachtet aber bitte, dass ich keinen Support dafür geben kann. Ihr solltet euch also mit Ruby etc. schon ein wenig auskennen um Probleme, die beim Einsatz der Software entstehen selber beheben zu können.

Zum Download v.0.1