Personen und Unverträglichkeiten #12

Closed
opened 2026-10-07 22:22:37 +02:00 by lena · 5 comments
Collaborator

Ziel

Die App berücksichtigt, wer mitisst: Personen als gespeicherte Bündel von
Kriterien (z. B. „Oma: Gluten unverträglich, Pilze mag gern“) oder direkt
gesetzte Kriterien für einmalige Gäste. Sie hilft beim Hinschauen, verspricht
aber keine Sicherheit.

Grundlage

PRD Kapitel 22 (Personen und Unverträglichkeiten), 04 (Nutzer und Personen),
18 (Datenschutz), 19 (Punkt 9)

Abhängig von

#3 (Allergene, Einkaufsnamen, Gruppen)

Akzeptanzkriterien

Personen und Kriterien

  • AK-1: Personen können angelegt, umbenannt und bearbeitet werden. Eine
    Person braucht keinen Zugang zur App.
  • AK-2: Ein Kriterium bezieht sich auf genau eines: ein Allergen (eines
    der fünf), einen Einkaufsnamen (z. B. „Karotten“) oder eine Gruppe (z. B.
    „Pilze“). Es hat genau eine Stufe: unverträglich, mag nicht, mag gern.
  • AK-3: Eine Person kann als „gehört zum Haushalt“ markiert werden; sie
    ist dann in „für wen“ und im Personenfilter vorausgewählt.
  • AK-4: Kriterien können auch direkt gesetzt werden, ohne Person:
    überall, wo Personen auswählbar sind (Suche, Vorschläge, „für wen“). Für
    einmalige Gäste muss keine Person angelegt werden.

Darstellung

  • AK-5: Unverträglich wird auffällig dargestellt (Farbe, Symbol),
    „mag nicht“ dezent (grau, klein), „mag gern“ dezent mit Herz. Die beiden
    Arten sind auf den ersten Blick unterscheidbar.
  • AK-6: Jeder Hinweis nennt die betroffene Person („Karotten – Tim mag
    keine“).

Regeln

  • AK-7 Mehrere Personen: Es gilt die stärkste Stufe. Mag Tim Pilze gern
    und verträgt Oma keine, wird ein Pilzgericht wie unverträglich behandelt.
  • AK-8 Genauerer Eintrag gewinnt: „Gemüse – mag nicht“ plus „Karotten –
    mag gern“ bei derselben Person bedeutet: Karotten gern, übriges Gemüse
    nicht.
  • AK-9: Ein Gericht passt, wenn es zu allen unverträglichen Kriterien
    aller ausgewählten Personen und direkten Kriterien passt. Ein
    unverträgliches Allergen, das nur über vermeidbare Zutaten enthalten ist
    (#3, AK-14a), schließt nicht aus; das Gericht passt dann mit Hinweis
    („glutenfrei möglich – mit glutenfreier Gemüsebrühe“). Gilt nur für
    Allergene, nicht für Kriterien auf Einkaufsnamen oder Gruppen.
  • AK-10: Erkannt wird über die Allergen-Übersicht und die Zuordnung der
    Zutaten zu Einkaufsnamen und Gruppen (#3). Eine Korrektur dort
    wirkt sofort.

Datenschutz

  • AK-11: Personenprofile, Unverträglichkeiten und Vorlieben werden nie an
    die KI geschickt (automatischer Test, siehe #5 AK-8).
  • AK-12: Sie sind nur nach Anmeldung sichtbar (#1).

Wirkung an anderen Stellen (geprüft in den jeweiligen Features)

  • Suche und Vorschläge: #8 (AK-10 bis AK-13), #9 (AK-18)
  • Haus-Liste „für wen“ und Warnung: #9 (AK-10, AK-11)
  • Einkaufszettel-Hinweise: #10 (AK-13)
  • Kochmodus-Hinweise: #11 (AK-14, AK-15)

Nicht in dieser Stufe

  • pro Stufe umstellbar „nur anzeigen“ / „als Filter“ (MVP-2; in MVP-1 feste
    Regel: unverträglich ausblenden, Rest markieren)
  • Warnung bei zu breiten Einträgen („betrifft 85 % deiner Rezepte“, MVP-2)
  • Varianten als Lösung für Unverträglichkeiten (Prio B; im MVP eigene
    Rezepte wie „Lasagne glutenfrei“)
  • KI-Ersatzvorschlag für Zutaten, die jemand nicht mag

Offene Fragen

  1. Ersatzvorschlag – entschieden 08.10.2026: nicht in MVP-1; kommt
    zusammen mit den Varianten (Prio B).

Alle offenen Fragen sind geklärt; das Issue ist bereit zum Bau.

## Ziel Die App berücksichtigt, wer mitisst: Personen als gespeicherte Bündel von Kriterien (z. B. „Oma: Gluten unverträglich, Pilze mag gern“) oder direkt gesetzte Kriterien für einmalige Gäste. Sie hilft beim Hinschauen, verspricht aber keine Sicherheit. ## Grundlage PRD Kapitel 22 (Personen und Unverträglichkeiten), 04 (Nutzer und Personen), 18 (Datenschutz), 19 (Punkt 9) ## Abhängig von #3 (Allergene, Einkaufsnamen, Gruppen) ## Akzeptanzkriterien ### Personen und Kriterien - **AK-1:** Personen können angelegt, umbenannt und bearbeitet werden. Eine Person braucht keinen Zugang zur App. - **AK-2:** Ein Kriterium bezieht sich auf genau eines: ein Allergen (eines der fünf), einen Einkaufsnamen (z. B. „Karotten“) oder eine Gruppe (z. B. „Pilze“). Es hat genau eine Stufe: unverträglich, mag nicht, mag gern. - **AK-3:** Eine Person kann als „gehört zum Haushalt“ markiert werden; sie ist dann in „für wen“ und im Personenfilter vorausgewählt. - **AK-4:** Kriterien können auch **direkt** gesetzt werden, ohne Person: überall, wo Personen auswählbar sind (Suche, Vorschläge, „für wen“). Für einmalige Gäste muss keine Person angelegt werden. ### Darstellung - **AK-5:** Unverträglich wird **auffällig** dargestellt (Farbe, Symbol), „mag nicht“ dezent (grau, klein), „mag gern“ dezent mit Herz. Die beiden Arten sind auf den ersten Blick unterscheidbar. - **AK-6:** Jeder Hinweis nennt die betroffene Person („Karotten – Tim mag keine“). ### Regeln - **AK-7 Mehrere Personen:** Es gilt die stärkste Stufe. Mag Tim Pilze gern und verträgt Oma keine, wird ein Pilzgericht wie unverträglich behandelt. - **AK-8 Genauerer Eintrag gewinnt:** „Gemüse – mag nicht“ plus „Karotten – mag gern“ bei derselben Person bedeutet: Karotten gern, übriges Gemüse nicht. - **AK-9:** Ein Gericht passt, wenn es zu allen unverträglichen Kriterien aller ausgewählten Personen und direkten Kriterien passt. Ein unverträgliches Allergen, das nur über vermeidbare Zutaten enthalten ist (#3, AK-14a), schließt nicht aus; das Gericht passt dann mit Hinweis („glutenfrei möglich – mit glutenfreier Gemüsebrühe“). Gilt nur für Allergene, nicht für Kriterien auf Einkaufsnamen oder Gruppen. - **AK-10:** Erkannt wird über die Allergen-Übersicht und die Zuordnung der Zutaten zu Einkaufsnamen und Gruppen (#3). Eine Korrektur dort wirkt sofort. ### Datenschutz - **AK-11:** Personenprofile, Unverträglichkeiten und Vorlieben werden nie an die KI geschickt (automatischer Test, siehe #5 AK-8). - **AK-12:** Sie sind nur nach Anmeldung sichtbar (#1). ### Wirkung an anderen Stellen (geprüft in den jeweiligen Features) - Suche und Vorschläge: #8 (AK-10 bis AK-13), #9 (AK-18) - Haus-Liste „für wen“ und Warnung: #9 (AK-10, AK-11) - Einkaufszettel-Hinweise: #10 (AK-13) - Kochmodus-Hinweise: #11 (AK-14, AK-15) ## Nicht in dieser Stufe - pro Stufe umstellbar „nur anzeigen“ / „als Filter“ (MVP-2; in MVP-1 feste Regel: unverträglich ausblenden, Rest markieren) - Warnung bei zu breiten Einträgen („betrifft 85 % deiner Rezepte“, MVP-2) - Varianten als Lösung für Unverträglichkeiten (Prio B; im MVP eigene Rezepte wie „Lasagne glutenfrei“) - KI-Ersatzvorschlag für Zutaten, die jemand nicht mag ## Offene Fragen 1. ~~**Ersatzvorschlag**~~ – entschieden 08.10.2026: nicht in MVP-1; kommt zusammen mit den Varianten (Prio B). Alle offenen Fragen sind geklärt; das Issue ist bereit zum Bau.
Author
Collaborator

Entscheidung 08.10.2026 (Lena, kritische Durchsicht Punkt 24, Option B): Allergene, die eine Zutat nur je nach Hersteller enthält („Gibt es ohne“ in der Startliste), gelten als vermeidbar. Sie schließen ein Rezept im Personenfilter nicht aus; Kennzeichnung „glutenfrei möglich“ bzw. „laktosefrei möglich“ mit Hinweis, worauf zu achten ist. Kriterien in diesem Issue entsprechend ergänzt; PRD Kapitel 06, 15, 21, 22 angepasst.

Entscheidung 08.10.2026 (Lena, kritische Durchsicht Punkt 24, Option B): Allergene, die eine Zutat nur je nach Hersteller enthält („Gibt es ohne“ in der Startliste), gelten als vermeidbar. Sie schließen ein Rezept im Personenfilter nicht aus; Kennzeichnung „glutenfrei möglich“ bzw. „laktosefrei möglich“ mit Hinweis, worauf zu achten ist. Kriterien in diesem Issue entsprechend ergänzt; PRD Kapitel 06, 15, 21, 22 angepasst.
Author
Collaborator

Entscheidung 08.10.2026 zur offenen Frage: Der KI-Ersatzvorschlag für Zutaten, die jemand nicht mag, kommt nicht in MVP-1, sondern zusammen mit den Varianten (Prio B). Damit sind alle offenen Fragen geklärt; Lena hat die Kriterien durchgesehen, status/entwurf entfernt.

Entscheidung 08.10.2026 zur offenen Frage: Der KI-Ersatzvorschlag für Zutaten, die jemand nicht mag, kommt nicht in MVP-1, sondern zusammen mit den Varianten (Prio B). Damit sind alle offenen Fragen geklärt; Lena hat die Kriterien durchgesehen, status/entwurf entfernt.
Author
Collaborator

Entscheidungen 08.10.2026 (Lena, Rueckfragen vor dem Bau):

  1. Ort: Personen werden in den Einstellungen auf einer eigenen Seite "Personen" gepflegt.
  2. Umfang: #12 baut Personen, Kriterien, die Regeln (AK-7 bis AK-10) und einen wiederverwendbaren Auswahl-Baustein "fuer wen / direkte Kriterien" (AK-4). Angeschlossen an Suche, Vorschlaege und Haus-Liste wird er in #8 und #9. #12 darf so geschlossen werden.
  3. Entfernen: Eine Person kann endgueltig geloescht werden (Gesundheitsdaten) - zweite Ausnahme vom "nie loeschen" neben den Originalen nach dem 4. Kochen.
  4. Anmelde-Namen: Zu jedem Anmelde-Namen (Lena, Kim ...) wird automatisch eine Person angelegt, verknuepft und "gehoert zum Haushalt". Wird der Name umbenannt, folgt die Person; wird er ausgeblendet, bleibt die Person mit ihren Kriterien, ist aber nicht mehr vorausgewaehlt.
Entscheidungen 08.10.2026 (Lena, Rueckfragen vor dem Bau): 1. **Ort:** Personen werden in den Einstellungen auf einer eigenen Seite "Personen" gepflegt. 2. **Umfang:** `#12` baut Personen, Kriterien, die Regeln (AK-7 bis AK-10) und einen wiederverwendbaren Auswahl-Baustein "fuer wen / direkte Kriterien" (AK-4). Angeschlossen an Suche, Vorschlaege und Haus-Liste wird er in `#8` und `#9`. `#12` darf so geschlossen werden. 3. **Entfernen:** Eine Person kann **endgueltig geloescht** werden (Gesundheitsdaten) - zweite Ausnahme vom "nie loeschen" neben den Originalen nach dem 4. Kochen. 4. **Anmelde-Namen:** Zu jedem Anmelde-Namen (Lena, Kim ...) wird automatisch eine Person angelegt, verknuepft und "gehoert zum Haushalt". Wird der Name umbenannt, folgt die Person; wird er ausgeblendet, bleibt die Person mit ihren Kriterien, ist aber nicht mehr vorausgewaehlt.
lena self-assigned this 2026-10-08 22:34:18 +02:00
Author
Collaborator

Claimed by session "Loop go #12 -> #19 -> #20 -> #5 [acbb06]"

Claimed by session "Loop go #12 -> #19 -> #20 -> #5 [acbb06]"
Author
Collaborator

Fertig gebaut (Commits d3e5c3e, c746bad, ea790e9).

Was gebaut wurde

  • Einstellungen -> Personen: Liste aller Personen mit ihren Kriterien, neue Person anlegen.
  • Eine Person öffnen: umbenennen, "Gehört zum Haushalt" an/aus, Kriterien hinzufügen (Allergen, Einkaufsname oder Gruppe, dazu unverträglich / mag nicht / mag gern) und einzeln entfernen, Person nach Rückfrage endgültig löschen.
  • Zu jedem Anmelde-Namen gibt es automatisch eine Person, die zum Haushalt gehört (auch für die schon vorhandenen Namen). Umbenennen geht dort unter "Namen"; ist der Name ausgeblendet, bleibt die Person samt Kriterien, ist aber nicht mehr vorausgewählt. Diese Personen lassen sich nicht löschen, ihre Kriterien aber schon.
  • Baustein "Für wen?": Personen an-/abwählen (Haushalt vorausgewählt) und Kriterien direkt setzen, z. B. für Gäste. Er wird in #8 und #9 an Suche, Vorschläge und Haus-Liste angeschlossen.
  • Regeln: stärkste Stufe über alle Personen (AK-7), genauerer Eintrag gewinnt (AK-8), Allergene nur über "gibt es ohne"-Zutaten schließen nicht aus (AK-9), Erkennung über das Zutatenverzeichnis, Korrekturen wirken sofort (AK-10).
  • Hinweise: unverträglich rot mit Warnsymbol, "glutenfrei möglich" und "nicht geprüft" gelb, "mag nicht" grau und klein, "mag gern" grau mit Herz; jeder Hinweis nennt die Person (AK-5, AK-6).

Entscheidungen beim Bau

  • Zutaten, deren Allergene noch "nicht geprüft" sind, ergeben bei einer Unverträglichkeit eine deutliche gelbe Warnung, blenden das Gericht aber nicht aus. Sonst verschwände jedes neue Rezept, bis alle Zutaten geprüft sind.
  • Eine Vorliebe hebt nie eine Unverträglichkeit auf: "Gluten unverträglich" bleibt, auch wenn dieselbe Person "Nudeln mag gern" hat.
  • Nach der Sicherheitsprüfung: Die Server-Aktionen geben keine Gesundheitsdaten zurück (sonst lägen sie eine Woche im Wiederhol-Speicher), Kriterien werden einzeln gesetzt/entfernt (zwei Geräte überschreiben sich nicht), Personennamen sind auch in der Datenbank eindeutig.
  • AK-11 (nie an die KI): Es gibt noch keine KI-Anbindung; kein Code für KI oder Feedback greift auf Personen zu. Der automatische Test kommt mit #5 (AK-8).

Wie getestet

  • 36 neue Server-Tests (Regeln ohne Datenbank, alle Aktionen über den Server, Anmeldung nötig, zwei Geräte gleichzeitig, Wiederhol-Speicher ohne Gesundheitsdaten). Alle 284 Server-Tests grün.
  • 11 neue Oberflächen-Tests, alle 98 grün; Build und Lint ohne Fehler.
  • Im Test-Container geprüft, dass der schon vorhandene Name eine Person bekommen hat.

So probierst du es aus

  1. Einstellungen -> "Personen öffnen". Dein Name steht schon da ("gehört zum Haushalt").
  2. Neue Person "Oma" anlegen, Kriterium "Allergen -> Gluten -> unverträglich" und "Gruppe -> Pilze -> unverträglich" hinzufügen.
  3. Zurück zur Personen-Seite, unten "Ausprobieren": Oma antippen, Zutaten "Gemüsebrühe" und "Reis" wählen -> "Passt", gelber Hinweis "glutenfrei möglich - auf Gemüsebrühe achten". Dann "Champignons" dazu -> "Passt nicht", rot "Champignons (Pilze) - unverträglich für Oma".
  4. "Kriterium direkt setzen" -> Allergen Laktose -> unverträglich, Zutat "Butter" dazu: roter Hinweis "(direkt gewählt)".
Fertig gebaut (Commits `d3e5c3e`, `c746bad`, `ea790e9`). **Was gebaut wurde** - Einstellungen -> **Personen**: Liste aller Personen mit ihren Kriterien, neue Person anlegen. - Eine Person öffnen: umbenennen, "Gehört zum Haushalt" an/aus, Kriterien hinzufügen (Allergen, Einkaufsname oder Gruppe, dazu unverträglich / mag nicht / mag gern) und einzeln entfernen, Person nach Rückfrage endgültig löschen. - Zu jedem Anmelde-Namen gibt es automatisch eine Person, die zum Haushalt gehört (auch für die schon vorhandenen Namen). Umbenennen geht dort unter "Namen"; ist der Name ausgeblendet, bleibt die Person samt Kriterien, ist aber nicht mehr vorausgewählt. Diese Personen lassen sich nicht löschen, ihre Kriterien aber schon. - Baustein "Für wen?": Personen an-/abwählen (Haushalt vorausgewählt) und Kriterien direkt setzen, z. B. für Gäste. Er wird in `#8` und `#9` an Suche, Vorschläge und Haus-Liste angeschlossen. - Regeln: stärkste Stufe über alle Personen (AK-7), genauerer Eintrag gewinnt (AK-8), Allergene nur über "gibt es ohne"-Zutaten schließen nicht aus (AK-9), Erkennung über das Zutatenverzeichnis, Korrekturen wirken sofort (AK-10). - Hinweise: unverträglich rot mit Warnsymbol, "glutenfrei möglich" und "nicht geprüft" gelb, "mag nicht" grau und klein, "mag gern" grau mit Herz; jeder Hinweis nennt die Person (AK-5, AK-6). **Entscheidungen beim Bau** - Zutaten, deren Allergene noch "nicht geprüft" sind, ergeben bei einer Unverträglichkeit eine deutliche gelbe Warnung, blenden das Gericht aber nicht aus. Sonst verschwände jedes neue Rezept, bis alle Zutaten geprüft sind. - Eine Vorliebe hebt nie eine Unverträglichkeit auf: "Gluten unverträglich" bleibt, auch wenn dieselbe Person "Nudeln mag gern" hat. - Nach der Sicherheitsprüfung: Die Server-Aktionen geben keine Gesundheitsdaten zurück (sonst lägen sie eine Woche im Wiederhol-Speicher), Kriterien werden einzeln gesetzt/entfernt (zwei Geräte überschreiben sich nicht), Personennamen sind auch in der Datenbank eindeutig. - AK-11 (nie an die KI): Es gibt noch keine KI-Anbindung; kein Code für KI oder Feedback greift auf Personen zu. Der automatische Test kommt mit `#5` (AK-8). **Wie getestet** - 36 neue Server-Tests (Regeln ohne Datenbank, alle Aktionen über den Server, Anmeldung nötig, zwei Geräte gleichzeitig, Wiederhol-Speicher ohne Gesundheitsdaten). Alle 284 Server-Tests grün. - 11 neue Oberflächen-Tests, alle 98 grün; Build und Lint ohne Fehler. - Im Test-Container geprüft, dass der schon vorhandene Name eine Person bekommen hat. **So probierst du es aus** 1. Einstellungen -> "Personen öffnen". Dein Name steht schon da ("gehört zum Haushalt"). 2. Neue Person "Oma" anlegen, Kriterium "Allergen -> Gluten -> unverträglich" und "Gruppe -> Pilze -> unverträglich" hinzufügen. 3. Zurück zur Personen-Seite, unten "Ausprobieren": Oma antippen, Zutaten "Gemüsebrühe" und "Reis" wählen -> "Passt", gelber Hinweis "glutenfrei möglich - auf Gemüsebrühe achten". Dann "Champignons" dazu -> "Passt nicht", rot "Champignons (Pilze) - unverträglich für Oma". 4. "Kriterium direkt setzen" -> Allergen Laktose -> unverträglich, Zutat "Butter" dazu: roter Hinweis "(direkt gewählt)".
lena 2026-10-09 03:34:01 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
robert/rezeptbuch#12
No description provided.