diff --git a/README.md b/README.md index 1656421..853d5aa 100644 --- a/README.md +++ b/README.md @@ -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) \ No newline at end of file diff --git a/admin/alter_table.php b/admin/alter_table.php deleted file mode 100644 index 919fb99..0000000 --- a/admin/alter_table.php +++ /dev/null @@ -1,24 +0,0 @@ -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"); \ No newline at end of file diff --git a/docker-compose.sample.yml b/docker-compose.sample.yml deleted file mode 100644 index 5aa6852..0000000 --- a/docker-compose.sample.yml +++ /dev/null @@ -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 diff --git a/docker/docker-compose.sample.yml b/docker/docker-compose.sample.yml new file mode 100644 index 0000000..f2fed9e --- /dev/null +++ b/docker/docker-compose.sample.yml @@ -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 diff --git a/php81-apache/Dockerfile b/docker/php81-apache/Dockerfile similarity index 100% rename from php81-apache/Dockerfile rename to docker/php81-apache/Dockerfile diff --git a/admin/create_database.php b/setup/create_database.php similarity index 100% rename from admin/create_database.php rename to setup/create_database.php diff --git a/setup/setup.php b/setup/index.php similarity index 96% rename from setup/setup.php rename to setup/index.php index 4d6a6bd..e63b9ca 100644 --- a/setup/setup.php +++ b/setup/index.php @@ -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"); ?>