melder/README.md

130 lines
4.6 KiB
Markdown
Raw Normal View History

2024-03-13 10:09:43 +01:00
# Ideen-/Hindernismelder
2024-02-16 15:35:01 +01:00
2024-02-18 16:01:36 +01:00
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.
2024-02-16 15:35:01 +01:00
2024-02-18 16:01:36 +01:00
Die Idee zu dieser Anwendung kam durch einen Artikel in der ADFC-Zeitschrift Radwelt zu Ibbenbüren, wo Vorschläge zur Verkehrsinfrastruktur über eine Webanwendung erfasst wurden. Ich habe diese Idee übernommen und neu programmiert. Eine Demoanwendung findet man unter https://nrw-melder.hpadm.de (Login: admin Passwort: testtest)
2024-02-16 15:35:01 +01:00
Es sind aus meiner Sicht aber auch viele andere Anwendungsmöglichkeiten denkbar, z.B. Erfassung/Meldung von Eichenprozessionsspinnern, Markierung/Erfassung von Stromtankstellen etc..
## Installation
### Installation der Andwendung
2024-03-13 10:09:43 +01:00
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)
2024-02-16 15:35:01 +01:00
### Konfiguration
Nach Installation können über die Konfiguration jederzeit die Parameter angepasst werden.
Folgende Funktionalitäten können an- bzw. abgeschaltet werden:
* Userinformationen (Altersklassen und überwiegend benutztes Verkehrsmittel)
* Rating (Positive und negative Bewertung)
* Hochladen von Bildern (erlaubt jpg/gif/png)
* Kommentare
2024-03-13 10:09:43 +01:00
* 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`.
2024-02-16 15:35:01 +01:00
2024-03-11 13:01:11 +01:00
### Karten
2024-03-13 10:09:43 +01:00
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.
2024-03-11 13:01:11 +01:00
2024-02-16 15:35:01 +01:00
### 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.
2024-03-13 10:09:43 +01:00
Für locationiq.com muss ein Api-Key beantragt werden. Dieser ist in der Datei `config.db.php` einzutragen.
2024-02-16 15:35:01 +01:00
---
## Versionen
2024-03-11 13:01:11 +01:00
### Version 3.0
* Erweiterung auf NRW-Kreise und kreisfreie Städte
2024-03-13 10:09:43 +01:00
* Anpassung als NRW-Hindernismelder
* Freischaltung von Einträgen
2024-03-11 13:01:11 +01:00
2024-02-16 15:35:01 +01:00
### Version 2.2
* Behandlung der Eingaben mit Zeilenumbruch, Anführungszeichen und Hochkommas
* Die Konfiguration wird jetzt in der Datenbank gespeichert.
* Bei der Eingabe werden die Adressen georeferenziert (reverse), d.h. zum Standort wird eine Adresse ermittelt. Das ist nur im Backend sichtbar und dient zur Auswertung der Daten.
* Im Backend können jetzt Einträge bearbeitet werden (Änderung der Beschreibung, Änderung der Mängelkategorie und Hochladen von Bildern).
---
## Verwendete Bibliotheken
Die verwendeten Bibliotheken:
Die Speicherung erfolgt in einer SQlite-Datenbank im Verzeichnis /db. Sie wird während des Setups automtisch angelelgt. Zum Backup kann man die Datei locations.db einfach speichern.
### JQuery
Javacript-Framework
* https://jquery.com/
* Lizenz: MIT
### Bootstrap 4
CSS-Framework
* https://getbootstrap.com/
* Lizenz: MIT
### Leaflet
JS-Framwork für GIS-Anwendungen (Openstreetmap)
* https://leafletjs.com
* 2-clause BSD License
#### Leaflet-Ajax
Bibliothek, um Geojson-Datein per Ajax zu laden. Kann eigentlich durch JQuery-Ajax ersetzt werden.
* https://github.com/calvinmetcalf/leaflet-ajax
* Lizenz: MIT
#### Leaflet-Awesome-Markers
Ermöglicht, die Marker mit Fontawesom-Symbolen zu gestalten. die Bibliothek ist veraltet und bietet nur Zugriff auf die Fontawesome 4.x und nicht auf die neue Version 5.x.. Daher sollte sie eigentlich mal angepasst werden.
* https://github.com/lvoogdt/Leaflet.awesome-markers
* https://fontawesome.com/
* Lizenz: MIT
#### Leaflet-Snogylop
2024-03-13 10:09:43 +01:00
Erweiterung vom Leaflet um ein Polygon zu invertieren.
2024-02-16 15:35:01 +01:00
* https://github.com/ebrelsford/Leaflet.snogylop
* Lizenz: MIT
2024-03-13 15:59:38 +01:00
### Fancybox
2024-02-16 15:35:01 +01:00
Zur Darstellung von Bildern
2024-03-13 15:59:38 +01:00
* https://github.com/fancyapps/fancybox
* Lizenz: GPLv3
2024-02-16 15:35:01 +01:00
### Datatable
Darstellung der Tabelle
* https://datatables.net
* Lizenz: MIT
### Shapefile
Export von Shape-Files
* https://gasparesganga.com/labs/php-shapefile/
* Lizenz: MIT
## Improvements
2024-03-13 10:09:43 +01:00
* 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)