From c71feddf63af147a45d9c9010e90279da6b46287 Mon Sep 17 00:00:00 2001 From: karim Date: Tue, 19 May 2026 03:27:39 +0200 Subject: [PATCH] =?UTF-8?q?Doku=20&=20Aufr=C3=A4umen:=20CLAUDE.md/ARCHITEC?= =?UTF-8?q?TURE.md,=20Tag-Schema,=20Legacy-Views=20weg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CLAUDE.md (Kurzform: was zu tun/lassen ist) und ARCHITECTURE.md (vollständige Repo-Karte mit Verzeichnis, Datenfluss, View-Inventar, Updater-Pipeline, Schwachstellen) als neue Onboarding-Dokumente. Tag-Schema in Doku und Skript-Kommentar an die tatsächliche Konvention angeglichen: Gitea-Tag ohne v-Prefix (latest.json-URL nutzt /releases/download//). Betrifft scripts/release.sh, README.md und ARCHITECTURE.md §9+§10. Legacy-Views Contacts.jsx und Clients.jsx entfernt — durch Persons.jsx ersetzt, in NAV_ITEMS nicht mehr verlinkt, kein Import mehr im Code. ARCHITECTURE.md §5/§12/§14 entsprechend aktualisiert. Co-Authored-By: Claude Opus 4.7 --- ARCHITECTURE.md | 396 +++++++++++++++++++++++++++++++++++ CLAUDE.md | 97 +++++++++ README.md | 4 +- scripts/release.sh | 2 +- src/views/Clients.jsx | 452 ---------------------------------------- src/views/Contacts.jsx | 456 ----------------------------------------- 6 files changed, 496 insertions(+), 911 deletions(-) create mode 100644 ARCHITECTURE.md create mode 100644 CLAUDE.md delete mode 100755 src/views/Clients.jsx delete mode 100755 src/views/Contacts.jsx diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..a907c0d --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,396 @@ +# RAPPORT — Architektur-Übersicht + +> Studio-Management für Architekturbüros. Tauri 2.x Desktop-App, React 19 Frontend, Rust-Backend (minimal), localStorage-only Persistierung. Solo-Dev: Karim. +> Dieses Dokument ist die **Karte** der Codebase. Es ersetzt nicht das Lesen einzelner Dateien, soll aber verhindern, dass jede Session bei Null anfangen muss. + +--- + +## 1. Mentales Modell in einem Absatz + +RAPPORT ist eine **monolithische SPA**: ein React-Root in [App.jsx](src/App.jsx) hält den **gesamten** App-State in einem `useState({...})`, persistiert ihn synchron in `localStorage` unter dem Key `studio_data_v1`, und übergibt ihn als Props an lazy-geladene Views. Es gibt **kein Routing-Framework** (View-Wechsel via String-State), **kein State-Library** (kein Redux/Context/Zustand), **kein TypeScript**, **kein CSS-Framework** (alles inline `style={{}}` oder ein 700-Zeilen `