OSM based map using ampbox and leaflet - how to / best practice?

Hallo zusammen,

dies ist mein erster Beitrag hier im Forum und ich hoffe ich treffe das richtige Forum.

Aus liebe zu gutem Essen und dem Interesse an einer Karte dazu im Internet entstand die Idee zu einer Karte in der Restaurants, Bäckereien, Obsthändler u.ä. aufgeführt werden die bestimmte Mindeststandards erfüllen.

Ich habe ganz grundsätzlich einmal probiert ob OSM in Verbindung mit Leaflet und Mapbox alles bietet um eine solche Karte umzusetzen und ich denke das ist definitiv der Fall. Bevor ich mich jetzt an die Umsetzung mache möchte ich gerne von euch Tipps und Tricks sowie Best Practices erfragen um nicht die selben Fehler zu machen die andere schon gemacht haben.

Meine Testseite befindet sich hier: https://kaipai.de/map.html

Überlegungen

  • Ich möchte die Daten der Geschäfte (Name, Anschrift, Telefon, Öffnungszeiten, Kategorie, Lat, Long etc.) in einer MySQL Datenbank pflegen.
  • Ich möchte beim Aufruf der Seite nur Marker von Daten generieren die in den angezeigten Map Boundaries liegen
  • Ich möchte das jeder Marker ein Popup bei Klick anzeigt das Daten aus dem SQL Datensatz enthält
  • Ich möchte bei zu vielen sichtbaren Markern einen Marker Clusterer nutzen
  • Ich möchte das jede Kategorie (Bäckerei, Restaurant, etc.) im Layer Switcher de-/aktivierbar ist
  • Idealerweise möchte ich die Karte nach Datensatzdaten (und nur diesen) durchsuchen können

Ansätze
Wie man auf meiner Testseite sieht war es mir möglich einige dieser Dinge bereits umzusetzen, mir fehlt aber für die eigentliche Umsetzung ein grundlegendes Konzept wie zum Beispiel:

  • Daten werden in SQL gespeichert
  • SQL Daten generieren regelmäßig GeoJSON Datei um Datenbankabfragen zu minimieren (sind verschiedene Kategorien in einer GeoJSON Datei möglich, so dass diese später im Layer Switcher einzeln de-/aktiviert werden können?)
  • Seitenaufruf ruft Daten aus GeoJSON Datei ab die in den Map Boundaries liegen (Ist dies beim lesen aus einer GeoJSON Datei möglich?)

Ich habe diverse Tutorials gelesen, mit Beispielen herumprobiert und mich auch der Dokumentation gewidmet, es fehlt aber wie gesagt der grundlegende Ansatz / die Struktur für so ein Projekt.

Ich wäre für Erfahrungen und Tipps, Beispiele oder Tutorials von Leuten dankbar die ähnliches schon umgesetzt haben.

Liebe Grüße
Rolf