fruchtfolge-app / README.md
UnSinnlos's picture
Plan: Fruchtfolge-App (Standalone, mit eingebauten Daten) 1. Struktur der Anwendung Frontend (React oder React Native) Auswahlmenü für Gemüse (Dropdown + Suche) Button: „Fruchtfolgevorschlag“ Modal/Seite für Vorschläge (Gemüse oder Gründüngung) Bei Gründüngung: zusätzlich Dropdown für Bodenzustand Ergebnisanzeige: Vorschlag(e) + Begründung + Mischungsprozente Backend-Logik (eingebettet im Frontend oder als kleines Modul) Keine externe Datenbank Alle Gemüse-Infos + Gründüngungen + Regeln im Code als statische Listen / Objekte Einfacher Regel-Matcher: Gemüse-Vorschläge = andere Familie, anderer Nährstoffbedarf Gründüngung-Vorschläge = je nach Bodenzustand + Ziel (locker, N-Aufbau, Unkrautunterdrückung etc.) 2. Eingebaute Daten Gemüse (Beispiele für eine erste Version — ca. 25 Stück) const vegetables = [ { id: 1, name: "Tomate", family: "Solanaceae", nutrient: "stark", root: "tief" }, { id: 2, name: "Kartoffel", family: "Solanaceae", nutrient: "stark", root: "mittel" }, { id: 3, name: "Paprika", family: "Solanaceae", nutrient: "stark", root: "mittel" }, { id: 4, name: "Gurke", family: "Cucurbitaceae", nutrient: "stark", root: "flach" }, { id: 5, name: "Zucchini", family: "Cucurbitaceae", nutrient: "stark", root: "flach" }, { id: 6, name: "Karotte", family: "Apiaceae", nutrient: "mittel", root: "tief" }, { id: 7, name: "Sellerie", family: "Apiaceae", nutrient: "mittel", root: "tief" }, { id: 8, name: "Petersilie", family: "Apiaceae", nutrient: "schwach", root: "tief" }, { id: 9, name: "Kohl (Weißkohl)", family: "Brassicaceae", nutrient: "stark", root: "mittel" }, { id: 10, name: "Brokkoli", family: "Brassicaceae", nutrient: "stark", root: "mittel" }, { id: 11, name: "Radieschen", family: "Brassicaceae", nutrient: "schwach", root: "flach" }, { id: 12, name: "Salat", family: "Asteraceae", nutrient: "schwach", root: "flach" }, { id: 13, name: "Spinat", family: "Amaranthaceae", nutrient: "schwach", root: "flach" }, { id: 14, name: "Mangold", family: "Amaranthaceae", nutrient: "mittel", root: "flach" }, { id: 15, name: "Zwiebel", family: "Amaryllidaceae", nutrient: "mittel", root: "flach" }, { id: 16, name: "Lauch", family: "Amaryllidaceae", nutrient: "mittel", root: "tief" }, { id: 17, name: "Knoblauch", family: "Amaryllidaceae", nutrient: "mittel", root: "flach" }, { id: 18, name: "Bohne (Buschbohne)", family: "Fabaceae", nutrient: "schwach", root: "mittel" }, { id: 19, name: "Erbse", family: "Fabaceae", nutrient: "schwach", root: "mittel" }, { id: 20, name: "Ackerbohne", family: "Fabaceae", nutrient: "mittel", root: "tief" }, { id: 21, name: "Mais", family: "Poaceae", nutrient: "stark", root: "tief" }, { id: 22, name: "Kürbis", family: "Cucurbitaceae", nutrient: "stark", root: "flach" }, { id: 23, name: "Rote Bete", family: "Amaranthaceae", nutrient: "mittel", root: "tief" }, { id: 24, name: "Fenchel", family: "Apiaceae", nutrient: "mittel", root: "tief" }, { id: 25, name: "Kohlrabi", family: "Brassicaceae", nutrient: "mittel", root: "flach" } ]; Gründüngung (mit Eigenschaften) const greenManures = [ { id: 1, name: "Phacelia", traits: ["schnellwüchsig","unkrautunterdrückend","humusfördernd"], tolerances: ["locker","sandig","unkrautlastig"] }, { id: 2, name: "Buchweizen", traits: ["schnell","unkrautunterdrückend"], tolerances: ["locker","sandig","sauer"] }, { id: 3, name: "Ölrettich", traits: ["tiefwurzelnd","lockernd"], tolerances: ["verdichtet","lehmigtonig"] }, { id: 4, name: "Weißklee", traits: ["dauerhaft","N-Fixierer"], tolerances: ["locker","nährstoffarm"] }, { id: 5, name: "Rotklee", traits: ["N-Fixierer","humusfördernd"], tolerances: ["nährstoffarm","lehmigtonig"] }, { id: 6, name: "Perserklee", traits: ["kurzlebig","N-Fixierer"], tolerances: ["locker","sandig"] }, { id: 7, name: "Ackerbohne", traits: ["tiefwurzelnd","N-Fixierer"], tolerances: ["nährstoffarm","verdichtet"] }, { id: 8, name: "Wicke", traits: ["N-Fixierer"], tolerances: ["nährstoffarm"] }, { id: 9, name: "Hafer", traits: ["stützpflanze","biomasse"], tolerances: ["locker","sandig","unkrautlastig"] }, { id: 10, name: "Roggen", traits: ["winterhart","biomasse"], tolerances: ["lehmigtonig","sauer","nass"] }, { id: 11, name: "Lupine", traits: ["tiefwurzelnd","N-Fixierer"], tolerances: ["sandig","nährstoffarm"] }, { id: 12, name: "Senf", traits: ["schnellwüchsig","unkrautunterdrückend"], tolerances: ["unkrautlastig","locker"] } ]; Bodenzustände (fixe Liste) const soilStates = [ "Unbekannt", "locker humusreich", "stark verdichtet", "nährstoffarm", "nass", "staunässe", "sandig", "geringe Wasserhaltefähigkeit", "lehmigtonig", "sehr sauer", "unkrautlastig" ]; 3. Beispiel-Regeln (eingebaut im Code) Gemüse → Gemüse Keine gleiche Familie direkt nacheinander Starkzehrer → danach Schwach- oder Mittelzehrer Wechsel Flachwurzler ↔ Tiefwurzler bevorzugen Gemüse → Gründüngung Wenn „Gründung“ gewählt → schaue Bodenzustand: „verdichtet“ → Ölrettich + Lupine „sandig“ → Lupine + Buchweizen „unkrautlastig“ → Phacelia + Buchweizen oder Senf „nährstoffarm“ → Kleearten oder Wicke + Hafer (60/40 Mischung) „sehr sauer“ → Buchweizen oder Roggen „lehmigtonig“ → Roggen + Klee Mischung „staunässe“ → Hinweis: Gründüngung schwierig, Roggen bedingt möglich Standard („Unbekannt“) → Roggen + Klee (Allrounder) 4. Beispiel-Ablauf (in App) Nutzer wählt: Tomate Klick: Fruchtfolgevorschlag App zeigt: Gemüse: „Buschbohne (andere Familie, N-Fixierer, Schwachzehrer)“ Gründüngung: „Wicke + Hafer (60/40, N-Aufbau + Biomasse)“ Wenn Nutzer Gründung wählt → Dropdown „Bodenzustand“ → z. B. „verdichtet“ → Ergebnis: Ölrettich (20 %) + Lupine (80 %) Begründung: „Tiefwurzler lösen Verdichtungen, Lupine verbessert Nährstoffversorgung“ 5. Vorteile dieser Lösung Keine externe Datenbank nötig → läuft offline Alles (Gemüse, Gründüngung, Regeln) fix im Code eingebaut Leicht zu erweitern (nur neue Objekte in Arrays hinzufügen) - Initial Deployment
e34b0b3 verified
metadata
title: fruchtfolge-app
emoji: 🐳
colorFrom: blue
colorTo: yellow
sdk: static
pinned: false
tags:
  - deepsite

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference