Coder Social home page Coder Social logo

masterthesis's Introduction

BambergEcoPulse

MOBI-Logo

Diese Masterarbeit stellt die Planung und Implementierung einer Anwendung zur Kuratierung von Umweltdaten einer bürgerinitiierten Crowd-sen-sing-Kampagne vor. Motiviert durch den Klimawandel zielt die Arbeit darauf ab, sowohl eine Softwarelösung zum Fördern von Maßnahmen zur Verlangsamung des Klimawandels zu entwickeln, als auch die Bürger*innen in Bamberg zu motivieren, sich an einer Crowdsensing-Kampagne zu beteiligen. Das vorgestellte Konzept erläutert die Vorgehensweise in der Arbeit, um darauf basierend die Anforderungen zu erheben und zu analysieren. Auf Grundlage der Anforderungen wird die Softwarearchitektur entworfen und die Implementierung der Anwendung beschrieben.

Die Ergebnisse der Arbeit fallen dabei positiv aus. Die entwickelte Anwendung erfüllt einen überwiegenden Teil der Anforderungen und kann als Grundlage für weitere oder zukünftige Arbeiten dienen. Die Zusammenarbeit mit den Stakeholdern hat sich als hilfreich erwiesen, um die Anforderungen zu erheben. Zusätzlich hat sich der iterative Ansatz der agilen Softwareentwicklung als ideale Vorgehensweise für die Entwicklung der Anwendung herausgestellt, da eine schnelle und auf die Stakeholder zugeschnittene Entwicklung möglich gewesen ist. Die aufgestellten Anforderungen stimmen mit der Literatur überein, weswegen der Crowdsensing-Ansatz in der Softwareentwicklung zwar sinnvoll ist, aber auch mit Herausforderungen, welche mit einem Mehraufwand verbunden sind, einhergeht.

Damit reiht sich die Arbeit in die Forschungslücke der Entwicklung von Crowdsensing-Anwendungen ein und kann als Grundlage für weitere Arbeiten dienen, um die Anwendung zu erweitern oder zu verbessern.

Architecture

Architektur

Prerequisites

You will need Docker installed on your machine, check here.

Setup

First run...

cd /app

...then...

docker compose up

...enjoy!

Stakeholder

Problem Area

  • connect Grafana iframe to Flask application
  • make application deployable on all machines without needing to setup data every single time
  • get station data automatically
  • import KML files to OpenStreetMap

Solution Area

  • run flask instance on Docker as well
  • run init.sql to set up database when composing
  • let Grafana point to provision directories so dashboards are set up when composing

masterthesis's People

Contributors

samakc avatar

Watchers

 avatar

masterthesis's Issues

Sensordaten einholen

Um die Sensordaten auf den Karten und Historien anzeigen zu können, müssen diese erst eingeholt werden. Dazu gibt es die Möglichkeit, entweder direkt die Netatmo API zu verwenden und mit REST-Abfragen die Daten einzuholen, oder Reems Tabellen zu verwenden.

Datenbank aufsetzen

Es soll eine Datenbank aufgesetzt werden, für u.a. folgende Funktionen:

  • Nutzerdaten
  • Karten- und Sensordaten
  • Annotationen
  • Feedback

Login aufsetzen

Zum Speichern von Chat- und Sensordaten soll eine Login-Möglichkeit aufgesetzt werden. Nutzer*innen sollen sich nach erfolgter Registrierung einloggen können und ihre auf sie zugeschnittenen Views einsehen können.

Registrierung aufsetzen

Um sich einloggen zu können, müssen Nutzer*innen zunächst in der Lage sein, sich registrieren zu können. Dafür sollen die benötigten Angaben so minimal wie möglich gehalten werden:

  • Nutzername
  • Passwort

"Mein Bereich" umsetzen

Es soll eine View "Mein Bereich" existieren, in welchem Nutzer*innen gespeicherte Sensoren, Annotationen und Benachrichtigungen abrufen können.

Daten als Graph ausgeben

Die eingeholten Sensordaten sollen als Graphen ausgegeben werden. Hier kann Graphana zum Einsatz kommen.

Aktuelle Auslesungen

Dies kann unter anderem entweder mit einer speziellen Pin-Nadel mit der aktuellen Auslesung oder eines Popups gelöst werden.

"Mein Feedback" umsetzen

Es soll eine View existieren, in welcher Nutzer*innen Feedback zu dem Tool abgeben können. Dabei soll eine Texteingabe möglich sein und zusätzlich eine Kategorisierung, um was für eine Art von Feedback es sich handelt (Bug, Change Request, Feature...). Dieses Feedback soll dann in der Datenbank gespeichert werden.

Sensordaten einbinden

Die eingeholten Sensordaten sollen auf den entsprechenden Views eingebunden werden (z.B. Karte an Pinnadeln, Sensorinspector etc.)

Lokale Klimazonen in Bamberger Karte einzeichnen

Für die Analyse der Sensordaten ist es zunächst erforderlich, die lokalen Klimazonen Bambergs zu definieren um auf dieser Basis dann Stationen innerhalb dieser miteinander vergleichen zu können. Dies soll mit Google Earth passieren. Das Ergebnis daraus kann dann als geoJSON/KML exportiert und eingebunden werden.

REST-Parameter in der URL-Leiste

Eine der Anforderungen besteht darin, dass Einstellungen in Views in der URL-Leiste wiederverwendbar sein sollen, sodass Nutzer*innen diese Links teilen können, ohne das weitere Einstellungen übernommen werden müssen.

Karte einbinden

Auf der Hauptseite des Tools soll eine interaktive Karte Bambergs angezeigt werden. Zusätzlich sollen die Sensoren mit Pinnadeln an ihren entsprechenden Positionen markiert sein.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.