Der Rasselbande Putzplan Generator ist eine Web-Anwendung zur automatischen Erstellung von Putz- und Wäschedienstplänen für Eltern-Kind-Gruppen.
Folgende Anweisungen können verwendet werden, um diese App von einer KI neu erstellen zu lassen:
Erstelle eine HTML-Seite mit dem Namen "Rasselbande Putzplan Generator" mit folgenden Anforderungen:
GRUNDSTRUKTUR:
- Single-Page HTML mit inline CSS und JavaScript
- Minimales CSS verwenden
- LocalStorage für Datenpersistenz
- Responsive Design bis 1400px Breite
- Info-Button oben rechts (fixed position), öffnet Dokumentation als Overlay auf derselben Seite
ELTERNVERWALTUNG:
- 5 vorausgefüllte Elternfelder ("Eltern 1" bis "Eltern 5")
- Felder: Name, Anzahl Kinder (1 oder 2+), Vorstand-Checkbox, Letzter Wäschedienst (Radio)
- Bei "Letzter Wäschedienst": Auswahlfeld für "klein" oder "groß"
- Checkboxen für Wochentage (Mo-Fr) für "Keine Zeit an folgenden Tagen"
- Export-Button (📥) zum Herunterladen aller Daten als JSON-Datei
- Import-Button (📤) zum Hochladen einer zuvor exportierten JSON-Datei
- Mehrere Urlaubszeiträume pro Familie (Von/Bis mit Datumsvalidierung)
- Hinzufügen/Entfernen von Eltern mit +/- Buttons
SCHLIESSZEITEN:
- Beliebig viele Schließzeiten mit Name und Zeitraum
- Von/Bis-Datumsfelder mit Validierung (Bis >= Von)
EINSTELLUNGEN:
- Startdatum (Standard: 1. des nächsten Monats)
- Anzahl Turnusse (2-20 in 2er-Schritten, Standard: 10)
- "Letzter Wäschedienst" ist Pflichtfeld vor Generierung
KALENDER-GENERIERUNG:
- 1 Turnus = einmal komplett durch alle Eltern
- Wochentage (Mo-Fr): Einzelne Eltern für Putzdienst
- Wochentags-Tausch-Logik:
* Zunächst normale Verteilung aller Dienste (nur Urlaube berücksichtigt)
* Dann: Automatischer Tausch von Diensten an "Keine Zeit"-Tagen
* Tausch nur innerhalb derselben Kalenderwoche (Mo-Fr)
* Tauschpartner müssen am jeweils anderen Tag Zeit haben
* Beide dürfen am Tauschtag nicht im Urlaub sein
- Familien mit 2+ Kindern: 1,5x so oft (3x bei 2 Turnussen, 6x bei 4 Turnussen)
- Keine aufeinanderfolgenden Tage für dieselben Eltern
- Wochenenden (Sa-So): Wäschedienst für komplettes Wochenende
- Wäschedienst wechselt zwischen "groß" und "klein"
- Vorstand: Nur 1x pro Turnus (als "Vorstand" eingetragen)
- Urlaubsberücksichtigung: Eltern werden übersprungen
- Schließzeiten: Keine Dienstvergabe
- Schrift im Kalender: Datum 16px, Namen 17px fett
- Wochenende: Name oben groß, "Wäsche groß/klein" unten klein (12px, rechtsbündig)
- Textumbruch: Namen umbrechen bei Leerzeichen, aber keine Silbentrennung mit Bindestrichen
DARSTELLUNG:
- Monatsweise Kalenderansicht
- Farbcodierung:
* Wochentage: hellgrün
* Wochenenden: hellblau
* Schließzeiten: hellrot
* Tage vor Startdatum: hellgrau
* Monate: zusätzliche Farbunterscheidung
- Wochentage-Header (Mo-So)
- Editierbare Kalendereinträge
- Drucken-Button unter Kalender (orange)
- CSS für Textumbruch: word-wrap und overflow-wrap, aber kein word-break oder hyphens
VERTEILUNG:
- Tabelle mit: Name, Kinderanzahl, Vorstand, Putzdienste, Wäschedienste
- Vorstand: Anteiliger Wert mit 2 Nachkommastellen (abgeschnitten, nicht gerundet)
DRUCKFUNKTION:
- Nur Kalender wird gedruckt
- Alle Farben bleiben erhalten
- print-color-adjust: exact für Farbdruck
- Keine anderen Elemente in Druckansicht
EXPORT & IMPORT:
- Export erstellt JSON-Datei mit aktuellem Datum im Dateinamen (rasselbande-putzplan-YYYY-MM-DD.json)
- Import validiert JSON-Struktur und lädt Daten in LocalStorage
- Nach Import: automatischer Reload der Seite
- Buttons in hellblauem Bereich unter "Eltern hinzufügen"-Button
SONSTIGES:
- Automatisches Speichern nach Generierung (ohne "Letzter Wäschedienst")
- "Letzter Wäschedienst" muss nach jedem Neuladen neu gewählt werden
- Keine sichtbaren "Speichern"/"Löschen" Buttons
- Datumsbehandlung: String-basiert (YYYY-MM-DD) zur Vermeidung von Timezone-Problemen
WICHTIGE DETAILS:
- Wäschedienst Wochenende: Elternname groß, "Wäsche groß/klein" klein unten rechtsbündig
- 2+ Kinder Familien: Bei geraden Turnussen 2x, bei ungeraden 1x pro Turnus
- Vorstand in Verteilung: "(anteilig)" mit Berechnung Gesamt/Anzahl
- Min-Attribut bei Datumseingaben dynamisch setzen
- Round-Robin-Verteilung bei mehreren Vorstandsmitgliedern
- Intelligente Verteilung verhindert aufeinanderfolgende Tage
- Wochennummer-Berechnung für Tausch-Logik innerhalb derselben Woche
- Tausch nur wenn beide Eltern am jeweiligen Tag verfügbar sind