Update README.md

This commit is contained in:
Robert Richter 2020-08-03 12:53:13 +02:00 committed by GitHub
parent 571be02a20
commit e538581eb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

108
README.md
View File

@ -1,18 +1,21 @@
# Wachalarm-IP-Web # Wachalarm IP-Web
![enter image description here](https://user-images.githubusercontent.com/19272095/54090568-cbbe6d00-4375-11e9-937e-ae2a6cd9ea7a.jpg) ![Titelbild Wachalarm IP-Web](https://user-images.githubusercontent.com/19272095/54090568-cbbe6d00-4375-11e9-937e-ae2a6cd9ea7a.jpg)
# Beschreibung
Ziel des Wachalarm IP-Web soll es sein auf jedem Endgerät - egal ob Windows, Linux, Mac, PC oder Smartphone - Alarme anzuzeigen, ohne das zusätzliche Software zu installieren ist. Da es sich dabei um eine reine Web-Server-Anwendung handelt, sollte der Dienst am besten durch eine Leitstelle betrieben werden um die Einsatzalarme direkt an das System zu übergeben. Der Zugriff erfolgt dann innerhalb eines geschützten Netzwerkes (VPN, LAN etc.) oder direkt über das Internet (sofern freigegeben und gewollt).
Der Web-Server empfängt Einsatzdaten über eine definierte [Schnittstelle
](#schnittstelle) aus dem Einsatzleitsystem (oder anderen Systemen) und übersendet diese dann an die jeweiligen Clients.
Mithilfe der eingebauten Rückmeldefunktion können Einsatzkräfte zudem mitteilen ob Sie am Einsatz teilnehmen. Dabei wird nur die fachliche Qualifikation gemeldet, persönliche Daten (wie Name, Vorname) werden nicht verarbeitet.
# DEMO # DEMO
[📺🔥 https://wachalarm.info.tm/](https://wachalarm.info.tm/) [📺🔥 https://wachalarm.mooo.com/](https://wachalarm.mooo.com/)
Login-Daten: Login-Daten:
- Benutzer: me - Benutzer: me
- Passwort: 123 - Passwort: 123
Die Demo-Version zeigt frei erfundene Einsätze die jede Stunde neu alarmiert werden. Ohne Login wird der Wachalarm mit reduziertem Inhalt dargestellt (zur Wahrung des Datenschutzes). Die Demo-Version zeigt frei erfundene Einsätze die jede Stunde neu alarmiert werden. Ohne Login werden die Alarmdaten mit reduziertem Inhalt dargestellt (zur Wahrung des Datenschutzes).
# Beschreibung
Ziel dieser Version des Wachalarms soll es sein, auf jedem Endgerät - egal ob Windows, Linux, Mac, PC oder Smartphone - Alarme anzuzeigen ohne zusätzliche Software zu installieren. Da es sich beim Wachalarm-IP-Web um eine reine Web-Server-Anwendung handelt, sollte dieser am besten durch eine Leitstelle betrieben werden, die Einsatzalarme direkt an das System übergibt. Der Zugriff erfolgt dann innerhalb eines geschützten Netzwerkes (VPN, LAN etc.) oder direkt über das Internet (sofern freigegeben und gewollt).
Der Web-Server empfängt Einsatzdaten über eine definierte [Schnittstelle
](#schnittstelle) aus dem Einsatzleitsystem (oder anderen Systemen) und übersendet diese dann an die jeweiligen Clients.
## Funktionsumfang ## Funktionsumfang
- Anzeige verschiedener Wachalarme für einzelne Wachen, Träger oder ganze Kreise - Anzeige verschiedener Wachalarme für einzelne Wachen, Träger oder ganze Kreise
@ -24,96 +27,11 @@ Der Web-Server empfängt Einsatzdaten über eine definierte [Schnittstelle
- Anzeige eines reduzierten (Datenschutz beachtenden) Wachalarms bei fehlender Berechtigung - Anzeige eines reduzierten (Datenschutz beachtenden) Wachalarms bei fehlender Berechtigung
- Steuerung der übermittelten Daten durch den Server - auf dem Client werden keine Daten gespeichert (außer dem Session-Cookie) - Steuerung der übermittelten Daten durch den Server - auf dem Client werden keine Daten gespeichert (außer dem Session-Cookie)
- Volle kompatibilität mit den gängigen Browsern (getestet in Chrome, Firefox, Safari, Microsoft Edge) - Volle kompatibilität mit den gängigen Browsern (getestet in Chrome, Firefox, Safari, Microsoft Edge)
- Rückmeldefunktion zu den Einsätzen (gesteuert über externe Gruppenverwaltung)
- Basierend auf modernsten Web-Technologien ([Node.js](https://nodejs.org/), [Express](https://expressjs.com/de/), [Socket.io](https://socket.io/), [Passport](http://www.passportjs.org/), [SQLite](https://www.sqlite.org/), [Bootstrap](https://getbootstrap.com/), [Leaflet](https://leafletjs.com/)) - Basierend auf modernsten Web-Technologien ([Node.js](https://nodejs.org/), [Express](https://expressjs.com/de/), [Socket.io](https://socket.io/), [Passport](http://www.passportjs.org/), [SQLite](https://www.sqlite.org/), [Bootstrap](https://getbootstrap.com/), [Leaflet](https://leafletjs.com/))
## offene Punkte
Neue Funktionen oder bekannte Probleme werden schrittweise hinterlegt.
Eine Aufzählung findet sich [hier](https://github.com/Robert-112/Wachalarm-IP-Web/TODO.md).
# Screenshots (Version 1.0)
# Installation & Konfiguration
## Vorbereitung & Installation
1. Installation von [Node.js](https://nodejs.org/) (Version 10 LTS oder höher)
2. Installation von [FFmpeg](https://www.ffmpeg.org/) (wird benötigt um Sound-Dateien umzuwandeln und neu zusammen zu setzen)
3. *optional:* Installation von SVOX "[pico2wave](https://wiki.ubuntuusers.de/Sprachausgabe/#SVOX-pico2wave)" (nur zur Sprachausgabe unter Linux notwendig)
4. Download des Quellcodes ([Master](https://github.com/Robert-112/Wachalarm-IP-Web/archive/master.zip))
5. Entpacken der *.zip-Datei
6. Komandozeile öffnen (Powershell, CMD, Terminal etc.) und in das entpackte Verzeichnis wechseln. Dort folgende Befehle eingeben
7. `npm install` (lädt und installiert alle Pakete)
8. `npm start` (startet den Web-Server)
9. *optional:* eigenes SSL-Zertifikat erstellen und im Verzeichnis `/server` ablegen
## Server-Einstellungen
In der Datei `./server/app_cfg.js` können individuelle Einstellungen für den Betrieb des Servers gesetzt werden:
- `http_port: 3000` (HTTP-Port der Anwendung)
- `https_port: 3443` (HTTPS-Port der Anwendung)
- `udpport: 60233` (UDP-Port der Schnittstelle)
- `database: './database.sqlite3'` (Speicherort der Datenbank)
- `soundpath: '/public/media/'` (Speicherort der Sound-Dateien)
- `mediapath: '/media/'` (Pfad der Mediendateien)
- `defaultuser: 'me'` (Standard-Administrator, beim ersten Start)
- `defaultpass: '123'` (Standarad-Administrator-Passwort)
- `defaultuserip: '127.0.0.1'` (Standard-IP des Administrators)
- `ip_auth_range: ['::ffff:172.16.5.0/24', '::ffff:192.168.2.0/24']` (Bereich / Bereiche aus denen eine Anmeldung per IP-Adresse zulässig ist)
- `saltRounds: 10` (Anzahl der Verschlüsselungsrunden für Kennwörter)
- `sessionsecret: '0987654321abcdef#xyz'` (Geheimnis für Session-Speicherung)
- `app_id: process.pid` (Prozess-ID)
- `map_tile: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'` (Provider der Hintergrund-Karte des Wachalarms)
## Zertifikat
Erläuterung folgt.
Selbst signiertes Zertifikat erstellen:
openssl req -nodes -new -x509 -keyout server.key -out server.cert
## Benutzer verwalten
Erläuterung folgt.
# Schnittstelle
Erläuterung folgt.
## Beispiel JSON
{
"einsatzdaten": {
"nummer": "419123456",
"alarmzeit": "19.02.16&17:16",
"art": "Brandeinsatz",
"stichwort": "B:Sonderobjekt",
"sondersignal": 1,
"besonderheiten": "Probeeinsatz für Wachalarm-IP-Web der Leitstelle Lausitz!",
"patient": "Mustermann, Max"
},
"ortsdaten": {
"ort": "Cottbus",
"ortsteil": "Madlow",
"strasse": "Dresdener-Straße 46",
"objekt": "Regionalleitstelle Lausitz",
"objektnr": "-1",
"objektart": "",
"wachfolge": "520201",
"wgs84_x": "51.733266",
"wgs84_y": "14.337831"
},
"alarmdaten": [
{
"typ": "ALARM",
"netzadresse": "192.168.1.120",
"wachenname": "CB FW Cottbus 1",
"einsatzmittel": "FL CB 01/82-01",
"zeit_a": "17:16",
"zeit_b": "",
"zeit_c": ""
},
{
"typ": "ALARM",
"netzadresse": "",
"wachenname": "CB FW Cottbus 2",
"einsatzmittel": "FL CB 02/46-01",
"zeit_a": "17:16",
"zeit_b": "",
"zeit_c": ""
}
]
}
# Screenshots
### Startseite ### Startseite
![FireShot Capture 001 - Startseite - localhost](https://user-images.githubusercontent.com/19272095/54091416-0b8a5200-4380-11e9-8ecd-9125e033a5e3.png) ![FireShot Capture 001 - Startseite - localhost](https://user-images.githubusercontent.com/19272095/54091416-0b8a5200-4380-11e9-8ecd-9125e033a5e3.png)
### Einsatz (Querformat) ### Einsatz (Querformat)