# Projektstruktur & Modulreferenz > **Token-Sparmaßnahme:** Dieses Dokument ist die erste Anlaufstelle. > Vor dem Öffnen von Quellcode hier nachschlagen. > Bei jeder Änderung an Funktionen, Modulen oder der Verzeichnisstruktur sofort aktualisieren. --- ## Verzeichnisstruktur ``` gartenmanager/ ├── .claude/ # Claude-Tooling (kein Projektcode) │ ├── scripts/ │ │ ├── bump.sh # Version bumpen + commit + push │ │ └── new-feature.sh # Feature-Branch erstellen │ └── session-context.md # Sessionstart-Kontext ├── .gitea/ │ └── PULL_REQUEST_TEMPLATE.md ├── docs/ │ ├── branching-strategy.md │ ├── development-standards.md │ └── project-structure.md # dieses Dokument ├── .gitattributes ├── CHANGELOG.md ├── CLAUDE.md ├── README.md └── VERSION ``` > Sobald Quellcode-Verzeichnisse entstehen, hier ergänzen. --- ## Modulübersicht > Noch kein Anwendungscode vorhanden. Sobald Module/Komponenten entstehen: > > ``` > Modulname | Datei(en) | Zweck | Exportierte Funktionen > ``` > > **Format pro Funktion:** > `funktionsname(param: Typ): Rückgabetyp` – Ein-Satz-Beschreibung --- ## Domänenmodell | Entität | Felder (geplant) | Beziehungen | |---|---|---| | `Plant` | name, sowingStart, sowingEnd, waterInterval, spacing | gehört zu Bed | | `Bed` | name, width, length, location | enthält viele Plants | | `SowingCalendar` | year, plantId, sowDate, plantDate | referenziert Plant | | `Task` | title, dueDate, done, bedId? | optional zu Bed | | `WateringSchedule` | bedId/plantId, intervalDays, lastWatered | referenziert Bed oder Plant | --- ## Datenhaltung > Noch festzulegen (SQLite, PostgreSQL, lokale Dateien …). --- ## Schnittstellen / API > Noch festzulegen. Hier Endpunkte mit Kurzbeschreibung eintragen: > > ``` > GET /api/plants – alle Pflanzen > POST /api/plants – neue Pflanze anlegen > ... > ``` --- ## Konfiguration > Relevante Umgebungsvariablen und Konfigurationsdateien hier auflisten.