P42 Dashboard: erster Stand

FastAPI-Backend und React-Frontend mit Konten, Sendungsverfolgung,
Projekt-Artikeln, Vorrat & Einkauf mit Rezeptabgleich, Reise-Weltkarte,
Kanban-Projekten mit Priorität, Server-Monitoring und den Designs
Matrix und Blackwall. Betrieb per Docker hinter nginx (siehe DEPLOY.md).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
guyg1474andClaude Opus 5.5 committed 2026-10-14 14:08:11 +02:00
commit dd58b3d1f8
75 files changed
+11418

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
# Bibliotheken und ihre Aufgabe
Jede Bibliothek hat genau eine Aufgabe.
## Frontend (`frontend/package.json`)
| Bibliothek | Aufgabe |
|---|---|
| React, React DOM | Oberfläche |
| React Router | Seiten und Navigation |
| TipTap (`@tiptap/*`) | Artikel-Editor |
| d3-geo | Weltkarte: Projektion und Pfade |
| d3-zoom, d3-selection, d3-transition | Weltkarte: Zoomen, Verschieben, weiche Übergänge |
| topojson-client | Kartendaten entpacken |
| `@fontsource/*` | Schriften lokal einbinden (keine Anfrage an Google) |
| Vite | Entwicklung und Build |
Bewusst ohne Animationsbibliothek: Jeder Design-Hintergrund ist
ein einzelner Canvas mit eigener Schleife (Matrix, Blackwall). Es läuft immer nur der
Hintergrund des aktiven Designs, also nie zwei Schleifen gleichzeitig.
Größen (gzip, gemessen beim Build): Start 120 kB JavaScript + 17 kB CSS (Budget 250 kB).
Erst beim Öffnen geladen: Artikel-Editor 131 kB, Weltkarte 44 kB. Schriftdateien lädt der
Browser nur für das aktive Design.
## Backend (`backend/requirements.txt`)
| Bibliothek | Aufgabe |
|---|---|
| FastAPI, Uvicorn | API und Auslieferung des Frontends |
| httpx | Abrufe nach außen (Sendungsverfolgung, Monitoring, Rezepte, Reise-Infos) |
| nh3 | Artikel-HTML bereinigen |
Datenbank: SQLite (Python-Standardbibliothek).