GithubHelp home page GithubHelp logo

ob-fun-ws17 / studienarbeit-florianfrank Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 3.57 MB

studienarbeit-florianfrank created by GitHub Classroom

Home Page: https://ob-fun-ws17.github.io/studienarbeit-florianfrank

License: BSD 3-Clause "New" or "Revised" License

Haskell 60.91% CSS 14.78% JavaScript 24.31%
spock haskell

studienarbeit-florianfrank's Introduction

Atemschutzplaner

1. Allgemeines

Das Program Atemschutzplaner soll die Verwaltung und Dokumentation von Daten, welche im Atemschutzbetrieb in freiwilligen Feuerwehren auftreten erleichtern. Es wird eine Weboberfläche bereit gestellt, welche es erlaubt registrierten Benutzern, Aktivitäten, wie Übungen, Termine in Atemschutzübungsanlagen, ärztliche Untersuchungen oder Einsätze anzulegen. Diese können den Mitgliedern, welche in der Mitgliederverwaltung des Programms angelegt wurden hinzugefügt werden. Das Programm 'Atemschutzterminplaner' bietet zudem ein Dashboard auf der Startseite, welches einen schnellen Überblick über die Anzahl einsatzfähiger Geräteträger, sowie die Anzahl Mitglieder insgesamt bietet. Genauere Informationen sind auf der Webseite des Projektes zu finden.

2. Installation und Konfiguration

Für die Installation der Software wird eine vorhergehende Installation des Haskell Stacks benötigt.

Die Installationsanleitung ist unter folgenden Link zu finden: Haskell Stack link

Im Projektorder liegt eine Datei Atemschutzplaner.cfg bei.

  Atemschutzplaner.cfg
    db = "Atemschutzterminplaner.db"
    port = 8080

In dieser ist der Port, auf welchem der Webserver nachher laufen soll, sowie der Name der Sqlite Datenbank angegeben, diese wird beim Start der Applikation eingelesen und geparst.

Zum Starten der Applikation muss im Projekt ordner

 $ stack exec Atemschutzterminplaner-exe

aufgerufen werden.

Die Website ist Danach unter

  http://localhost:8080

erreichbar.

3. Technischer Aufbau

Die Software wurde fast ausschließlich in Haskell geschrieben. Für den Webserver und die Datenbankanbindung wurde das Framework Spock verwendet. Das Design der Website bedient sich an grafischen Elementen von Material Design. Für die Kommunikation zwischen dem Spock Webserver und den einzelnden HTML Seiten, kommt JavaScript zum Einsatz, mit Hilfe dieser Programmiersprache werden die verschiedenen Eingabefelder ausgelesen und als Json Pakete verpackt und sendet, diese werden vom Haskell Server empfangen und geparst. Als Datenbankmanagementsystem wird SQLite3 verwendet.

Der Aufbau der Anwendung bedient sich der klassischen MVC (Model-View-Control- Architektur), d.h. es gibt einen Ordner src/Web/View dieser beinhaltet alle für die Benutzerschnittstelle verantwortlichen Haskell Dateien. Im Order src/Control ist die Logik für die Datenbank, REST-SERVER, etc. untergebracht. Die Datentypen, für Login, Mitglieder, Termine, etc finden sich im Ordner src/Model wieder.

Für die Qualitätssicherung ist an dieses Repository ein Travis.CI Server angebunden, der bei jedem Commit eine .travis.yml datei auswertet und anhand dieser die benötigten Pakete installiert sowie automatisiert Tests durchführt.

4. Automatisiertes Testen

Um eine hohe Softwarequalität sicherzustellen werden automatisierte Tests durchgeführt. Hierfür werden JSON Testpakete erstellt, welche an den Server gesandt werden und somit die Kommunikation mit einem User simulieren. Zudem wird die korrektheit diverser Konvertierungsfunktionen sichergestellt.

Aktueller Status (Branch Master)

Build Status

studienarbeit-florianfrank's People

Contributors

florianfrank avatar

Watchers

 avatar  avatar

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.