# 📂 Abhängigkeiten in NodeMap (Stand: 2025) Diese Datei listet alle Drittanbieter-Abhängigkeiten aus der Datei `package.json` mit einer kurzen Erklärung, wofür sie im Projekt verwendet werden. --- ## ✨ Frameworks & Tooling | Paket | Zweck & Beschreibung | | ------------------------------------------------ | -------------------------------------------------------------------------------------------------- | | **next** | Hauptframework (Next.js) zur Erstellung von React-basierten SSR/SSG-Apps. | | **react** / **react-dom** | Grundlage für UI-Komponenten im Projekt. | | **tailwindcss** / **postcss** / **autoprefixer** | Styling mit Tailwind. PostCSS verarbeitet CSS, Autoprefixer fügt vendor-spezifische Präfixe hinzu. | | **dotenv** | Ermöglicht das Einlesen von `.env`-Dateien zur Laufzeit auf dem Server. | --- ## 🌐 Leaflet & Karten | Paket | Zweck & Beschreibung | | ----------------------------------------- | ------------------------------------------------------------ | | **leaflet** | Basiskartenbibliothek zur Darstellung interaktiver Karten. | | **leaflet-contextmenu** | Kontextmenüs per Rechtsklick in Leaflet. | | **leaflet-control-geocoder** | Steuerelement für Suche/Geokodierung in Karten. | | **leaflet.smooth_marker_bouncing** | Animation für Marker-Bounces (visuelles Feedback). | | **overlapping-marker-spiderfier-leaflet** | Marker-Overlapping-Management mit Spiderfy-Effekt bei Klick. | --- ## 🪄 Zustand & Redux | Paket | Zweck & Beschreibung | | --------------------------- | ----------------------------------------------------- | | **@reduxjs/toolkit** | Vereinfachte Redux-Nutzung mit Slices & Thunks. | | **redux** / **react-redux** | Core-State-Management in React-Komponenten. | | **redux-thunk** | Middleware zur Verarbeitung von asynchronen Aktionen. | --- ## 🦜 UI & Styling | Paket | Zweck & Beschreibung | | --------------------------------------- | --------------------------------------------------- | | **@mui/icons-material** | UI-Icons aus der Material UI Sammlung. | | **@emotion/react**, **@emotion/styled** | Styled Components-Engine, benötigt für MUI Styling. | | **@heroicons/react** | React-Icons im Hero-Stil für UI. | | **react-select** | Erweiterte Dropdown-Komponente mit Suchfunktion. | | **react-toastify** | Benachrichtigungs-Tool für Toast-Meldungen. | --- ## 📁 Daten & Kommunikation | Paket | Zweck & Beschreibung | | -------------------------------- | --------------------------------------------------------- | | **axios** | HTTP-Client zur API-Kommunikation (z. B. zu Webservices). | | **cookies** | Zugriff & Verwaltung von Cookies auf Server/Client. | | **ws** | WebSocket-Kommunikation mit z. B. GMA-Live-Daten. | | **xml2js** / **fast-xml-parser** | Parsen von XML-Antworten aus Webservices. | | **mysql** / **mysql2** | Zugriff auf MySQL-Datenbanken. | --- ## 🚫 Sicherheit & Netzwerk | Paket | Zweck & Beschreibung | | ------------------------- | --------------------------------------------------------- | | **http-proxy-middleware** | API-Routing & Proxy-Zugriff z. B. für lokale Entwicklung. | | **nextjs-cors** | CORS-Konfiguration für Next.js API-Routen. | --- ## 🎓 Entwicklung & Test (nur devDependencies) | Paket | Zweck & Beschreibung | | ----------------------------------------------------------------- | ------------------------------------------- | | **cypress** | End-to-End-Testing. | | **jest-environment-jsdom** / **jest-fetch-mock** / **jest-junit** | Unit- & Integrationstests. | | **identity-obj-proxy** | Mocking für CSS-Module im Jest-Testkontext. | | **node-fetch**, **node-mocks-http** | HTTP-Mocks für Tests. | | **husky** | Git-Hook-Management (Pre-Commit etc.). | | **raw-loader** | Import von Rohdaten (z. B. SVG) in Webpack. | --- ## 📄 Weitere Tools & Hilfen | Paket | Zweck & Beschreibung | | ---------------- | ------------------------------------------------- | | **prepare** | Wird durch Husky benötigt zum Setup von Hooks. | | **bump-version** | Interner Versionsbump-Script für `appVersion.js`. |