Files
dapelza ee55fb1cf9 Phase 0+1: Scaffold, Datenmodell, Karte und Liste
Reines HTML5/CSS3/JavaScript ohne Build-Tooling, lauffaehig direkt per
Doppelklick auf index.html (file://, kein Server noetig):

- Datenmodell fuer Ausflugsziele mit allen Feldern aus der Anforderung,
  15 feste Kategorien inkl. Farbe/Icon
- Zentraler Pub/Sub-Store mit LocalStorage-Persistenz und
  Migrations-Grundgeruest
- Interaktive Karte (Leaflet + Leaflet.markercluster, lokal vendored)
  mit kategoriefarbenen Markern, Clustering, Popups, Geolocation-Button
- Kartengrundlage ueber CARTO-Basemaps statt tile.openstreetmap.org, da
  dessen Referer-Pflicht file://-Aufrufe blockiert
- Seed-Daten als eingebettetes Script (data/seed.js) statt JSON-Datei,
  da fetch() auf lokale Dateien unter file:// nicht zuverlaessig
  funktioniert
- Ergebnisliste mit 10 Beispiel-Ausflugszielen, sicher gerendert ueber
  textContent/DOM-APIs statt innerHTML (Vorbereitung fuer spaeteren
  KI-JSON-Import mit Fremddaten)
- Responsives Layout (Desktop nebeneinander, Mobile gestapelt)
2026-07-24 11:24:47 +02:00

24 lines
645 B
JavaScript

// Zentrale Konstanten der Anwendung.
(function () {
const STORAGE_KEYS = {
DATA: 'eventmap.data.v1',
SETTINGS: 'eventmap.settings.v1',
};
const CURRENT_SCHEMA_VERSION = 1;
// Geografische Mitte Deutschlands als Standard-Kartenzentrum,
// solange der Nutzer keinen eigenen Standort freigibt oder ein
// eigenes defaultCenter in den Settings hinterlegt hat.
const DEFAULT_MAP_CENTER = {
lat: 51.1657,
lng: 10.4515,
zoom: 6,
};
EventMap.config.STORAGE_KEYS = STORAGE_KEYS;
EventMap.config.CURRENT_SCHEMA_VERSION = CURRENT_SCHEMA_VERSION;
EventMap.config.DEFAULT_MAP_CENTER = DEFAULT_MAP_CENTER;
})();