Files
gartenmanager/docs/project-structure.md

81 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

# 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.