Files
nodeMap/docs/guide/dependencies.md

99 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- /docs/guide/dependencies.md-->
# 📂 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`. |
---
[Zurück zur Übersicht](../README.md)