This commit is contained in:
Walter Hupfeld 2024-03-13 10:09:43 +01:00
parent 691aaa0bdd
commit 8217b5a7ce
7 changed files with 63 additions and 80 deletions

View File

@ -1,4 +1,4 @@
# Ideenmelder
# Ideen-/Hindernismelder
Die Anwendung ermöglicht die Markierung von Standorten in einem begrenzten Bezirk für alle Kreise und kreisfreien Städten in NRW. Die Eingaben können beschrieben und bewertet werden. Das Hochladen von Bildern und das Kommentieren von Beiträgen ist möglich.
@ -10,7 +10,7 @@ Es sind aus meiner Sicht aber auch viele andere Anwendungsmöglichkeiten denkbar
### Installation der Andwendung
Die Anwendung verfügt über ein Setup, das die Datenbank und fehlende Verzeichnisse anlegt, einen Nutzeraccount anlegt und die Anpassung der Texte ermöglicht.
Die Anwendung verfügt über ein Setup, das die Datenbank und fehlende Verzeichnisse anlegt, einen Nutzeraccount anlegt und die Anpassung der Texte ermöglicht. (nocht nicht in Version 3)
### Konfiguration
@ -22,15 +22,21 @@ Folgende Funktionalitäten können an- bzw. abgeschaltet werden:
* Rating (Positive und negative Bewertung)
* Hochladen von Bildern (erlaubt jpg/gif/png)
* Kommentare
* Freischaltung von Einträgen (ab Version 3)
Die Freischaltung bezieht sich nur auf die Einträge. Diese werden auf der Karte dargestellt und die Mängel-/Hinderniskategorie werden angezeigt. Bild und Kommentar für den Eintrag werden erst nach Freischaltung im Administrationsbereich angezeigt. Ist ein Eintrag freigeschaltet, kann er kommentiert werden. Die Kommentare sind sofort sichbar.
Die Konfiguration der Kategorien erfolgt im Quelltext der `config.php`.
### Karten
Als Tile-Server für die Karten wird Mapbox (https://mapbox.com) verwendet. Hierfür ist eine Api-Key notwendig. Bis zu 200.000 Tile können pro Monate kostenlos benutzt werden.
Als Tile-Server für die Karten wird Mapbox (https://mapbox.com) verwendet. Hierfür ist eine Api-Key notwendig. Bis zu 200.000 Tile können pro Monate kostenlos benutzt werden. Der Api-Key ist in der Datei `config.db.php` einzutragen.
### Reverse Georeferenzierung
Aus den übermittelten Geodaten wird die Adresse ermittelt. Dazu wird der Dienst https://locationiq.com verwendet. Die Adressen werden nur im Backend angezeigt, um die Auswertung der Daten zu erleichtern.
Für locationiq.com muss ein Api-Key beantragt werden. Dieser ist in der Datei /config.db.php einzutragen.
Für locationiq.com muss ein Api-Key beantragt werden. Dieser ist in der Datei `config.db.php` einzutragen.
---
@ -39,6 +45,8 @@ Für locationiq.com muss ein Api-Key beantragt werden. Dieser ist in der Datei /
### Version 3.0
* Erweiterung auf NRW-Kreise und kreisfreie Städte
* Anpassung als NRW-Hindernismelder
* Freischaltung von Einträgen
### Version 2.2
@ -89,10 +97,10 @@ Ermöglicht, die Marker mit Fontawesom-Symbolen zu gestalten. die Bibliothek ist
* https://fontawesome.com/
* Lizenz: MIT
#### Leaflet-Snogylop
Erweiterung vom Leaflet um ein Polygon zu invertieren.
Erweiterung vom Leaflet um ein Polygon zu invertieren.
* https://github.com/ebrelsford/Leaflet.snogylop
* Lizenz: MIT
@ -118,6 +126,5 @@ Export von Shape-Files
## Improvements
* Rating durch Cookie absichern, so dass nicht zwei mal während einer Sitzung ein Maker betätigit werden kann.
* Alert nach Rating überarbeiten (z.B. mit Bootstrap)
* Rating durch Cookie absichern, so dass nicht zwei mal während einer Sitzung ein Maker betätigt werden kann.
* Alert nach Rating überarbeiten (z.B. mit Bootstrap)

View File

@ -1,24 +0,0 @@
<?php
exit();
// ist veraltet, muss noch angepasst werden.
session_start();
$strLoginName=(isset($_SESSION['user'])) ? $_SESSION['user'] : "" ;
$boolLogin = (!empty($strLoginName));
if (!$boolLogin) {
header("Location: login.php");
}
date_default_timezone_set('UTC');
$strSQL="ALTER TABLE location ADD COLUMN defect INTEGER";
$db->exec($strSQL);
$db->exec("CREATE TABLE IF NOT EXISTS user(
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT,
passwordhash TEXT,
lastlogin TEXT DEFAULT CURRENT_TIMESTAMP,
created_at TEXT DEFAULT CURRENT_TIMESTAMP
)");
header("Location: configuration.php");

View File

@ -1,40 +0,0 @@
version: '3'
services:
dev-ideenmelder:
image: php81:v1
container_name: dev-ideenmelder
volumes:
- ./:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.dev-ideenmelder.entrypoints=https"
- "traefik.http.routers.dev-ideenmelder.rule=Host(`nrw-ideenmelder.hpadm.de`)"
- "traefik.http.routers.dev-ideenmelder.tls=true"
- "traefik.http.routers.dev-ideenmelder.tls.certresolver=http"
- "traefik.http.routers.dev-ideenmelder.middlewares=default@file"
- "traefik.http.routers.dev-ideenmelder.service=dev-ideenmelder"
- "traefik.http.services.dev-ideenmelder.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
- default
- proxy
restart: always
dev-ideenmelder-db:
image: mariadb
container_name: dev-ideenmelder-db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=geheim #SQL root Passwort eingeben
- MYSQL_INITDB_SKIP_TZINFO=1
- MARIADB_AUTO_UPGRADE=1
volumes:
- ./database:/var/lib/mysql
networks:
- default
- proxy
networks:
proxy:
external: true

View File

@ -0,0 +1,40 @@
version: '3'
services:
dev-hindernis:
image: php81:v1
container_name: dev-hindernis
volumes:
- ./:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.dev-hindernis.entrypoints=https"
- "traefik.http.routers.dev-hindernis.rule=Host(`nrw-hindernis.hpadm.de`)"
- "traefik.http.routers.dev-hindernis.tls=true"
- "traefik.http.routers.dev-hindernis.tls.certresolver=http"
- "traefik.http.routers.dev-hindernis.middlewares=default@file"
- "traefik.http.routers.dev-hindernis.service=dev-hindernis"
- "traefik.http.services.dev-hindernis.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
- default
- proxy
restart: always
dev-hindernis-db:
image: mariadb
container_name: dev-hindernis-db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=geheim #SQL root Passwort eingeben
- MYSQL_INITDB_SKIP_TZINFO=1
- MARIADB_AUTO_UPGRADE=1
volumes:
- ./database:/var/lib/mysql
networks:
- default
- proxy
networks:
proxy:
external: true

View File

@ -74,13 +74,13 @@ exit();
************************************************** */
$boolError=true;
echo "Datenbank anlegen: ";
if (!$boolError) {
require("admin/create_database.php");
echo "Datenbank angelegt";
} else {
echo "Datenbankverzeichnis nicht angelegt oder Datenbank existiert bereits.";
}
require("config.php");
if (!$boolError) {
require("create_database.php");
echo "Datenbank angelegt";
} else {
echo "Datenbankverzeichnis nicht angelegt oder Datenbank existiert bereits.";
}
require("config.php");
?>
</li>
</ul>