Files
GerbilManager/tools/import/rpro3-feature-gap.md
Gulum 4e30dc7fe3 feat(import): RennmausPro-III-Analyse — Abgleich, Dedup, Feature-Gap, Ticket-Generierung
- compare_rpro3.py: RPRO3-SQLite ↔ aktueller Stand (Dedup Name+DOB+Farbe+Herkunft)
- rpro3-vergleich.md / rpro3-feature-gap.md: erzeugte Reports
- rpro3_tickets.py / rpro3_post_tickets.py: 413 Rückfrage-Tickets mit Herkunft + Links

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:38:24 +02:00

11 KiB
Raw Permalink Blame History

RennmausPro III — Feature-Gap-Analyse vs. GerbilManager

Read-only-Untersuchung. Quelle: RPRO3-Backup _rpro3.db (SQLite, 43 Tabellen) vs. GerbilManager-IST (laufende API-Routen, Models/, Endpoints/, src/pages/). Schreibt nichts in die DB — reine Analyse. Datumsfelder in RPRO3 = Julianische Tageszahlen.

Management-Summary — die wichtigsten Lücken

  • Verpaarungs-/Deck-Management (zucht_tb, 148 Zeilen) fehlt komplett. RPRO3 dokumentiert je Verpaarung Zusammensetzen → Decken → Trennen + Notiz und verknüpft sie mit dem entstandenen Wurf. Das ist die zentrale aktive Zuchtarbeit, die wir gar nicht abbilden — Top-Priorität.
  • Welpen-Wiegekurven (jungwaage_tb, 1022 Zeilen!) sind der mit Abstand am intensivsten genutzte Datenbestand. Wir haben Gewicht je adultem Tier (waage_tb-Äquivalent), aber keine wurfweisen Welpen-Wiegekurven. Größter Daten-Hebel, mittlerer Aufwand.
  • Krankheits-/Behandlungs-Historie ist bei uns generisch, RPRO3 deutlich reicher: krank_tb (Diagnose + Medikament je Termin), dauerkrank_tb (Dauermedikation mit Dosierung), tod_tb (Todesursache strukturiert, 51 Zeilen), plus Tierarzt-Stammdaten (arzt_tb) und ein Medikamenten-/Behandlungs-Nachschlagewerk (notiz_tb).
  • Gehege-Reinigungszyklus (becken_tb _CLEANED/_CYCLUS/_NEXT) und Tagebuch je Tier (diary_tb) fehlen — kleine Features mit hohem Alltagsnutzen (Quick Wins).
  • Erwerb/Preis je Tier (herktier_tb, 251 Zeilen) und Abgabe-/Reservierungs-Status (abgeben_tb/abstat_tb/getback_tb) sind in RPRO3 strukturiert; bei uns nur teilweise über Verträge/Kontakte abgedeckt. Rücknahmen (getback_tb, Tier kommt zurück) fehlen ganz.
  • Vorhanden, aber von dieser Züchterin ungenutzt (in RPRO3 leer): Finanzen (einnahme_/ausgabe_/artikel_/bestand_tb), Ausstellungen/Auszeichnungen (ausz_tb), Termin-Kalender (termin_tb). Niedrige Priorität — keine Migrationsdaten, kein belegter Bedarf.

Feature-Gap-Tabelle (sortiert: Quick Wins / hoher Nutzen zuerst)

# Feature (RPRO3) Was RPRO3 macht Status bei uns RPRO3-Tabelle(n) (Zeilen) Nutzen Aufwand Empfehlung
1 Welpen-Wiegekurven Gewichtsverlauf je Welpe im Wurf, viele Messpunkte über die Aufzucht Teilweise — wir haben WeightRecord je Tier, aber keine wurfweise Welpen-Wiegung/-Kurve vor der Vergabe jungwaage_tb (1022), juwa_tb (129, Sammeldaten) Hoch — meistgenutzter Datentyp, Aufzuchtkontrolle M Hoch — WeightRecord auf Welpen/Litter erweitern + Kurven-Ansicht im Wurf
2 Verpaarungs-/Deck-Management Je Verpaarung: Zusammensetzen (_ZUS), Decken (_DECK), Trennen (_TRENN), Notiz (_BEM), Verknüpfung zum Wurf (_WID) Fehlt — wir haben nur den fertigen Wurf, nicht den Paarungsprozess zucht_tb (148) Hoch — Kern der aktiven Zuchtarbeit, Planung & Nachverfolgung ML Hoch — neue Entity „Verpaarung/Pairing" mit Status-Zeitachse, an Litter gekoppelt
3 Gehege-Reinigungszyklus Becken hat Reinigungsintervall (_CYCLUS Tage), letzte Reinigung (_CLEANED), nächste fällige (_NEXT) → Erinnerung; dazu Maße (_SIZE) + Kapazität (_MENGE) TeilweiseEnclosure hat nur Name + Notes becken_tb (6) Hoch — konkreter Alltagsnutzen, wenig Daten S Quick Win — Felder Größe/Kapazität/Reinigungszyklus + „nächste Reinigung"-Hinweis auf Becken
4 Tagebuch je Tier Datierte Freitext-Einträge je Tier (Verpaarungen, Beobachtungen, Vorfälle) Fehlt — Gerbil hat nur ein Notes-Freitextfeld (kein datierter Verlauf) diary_tb (14) Hoch — laufende Beobachtungsdoku, ergänzt Provenance/Gesundheit S Quick Win — datierte Diary-Einträge je Gerbil (loses nullable GerbilId, wie Feedback)
5 Todesursache strukturiert Eigene Tabelle: Todesdatum (_AM) + Ursache (_WARUM) je Tier TeilweiseGerbil.DateOfDeath + CauseOfDeath als Freitext vorhanden tod_tb (51) Mittel — schon weitgehend abgedeckt; ggf. Statistik nach Ursache S Niedrig/Teilweise — Felder existieren; optional Ursachen-Statistik
6 Erwerb/Kauf je Tier Kaufdatum (_DATE) + Preis (_PRICE) + Notiz je zugekauftem Tier Fehlt — Herkunft (Kontakt/Breeder) ja, aber kein Erwerbsdatum/-preis herktier_tb (251) Mittel — Anschaffungskosten, Belege S Quick Win — Felder PurchaseDate/PurchasePrice auf Gerbil
7 Krankheits-Historie (reich) Je Eintrag: Datum, Diagnose (_BEM), Medikament+Kosten (_MED), Tierarzt-Ref (_AZID) TeilweiseHealthRecord hat Date/Type/Description/Veterinarian, aber kein Medikament/Dosis-Feld, kein Tierarzt als Stammdatensatz krank_tb (27) Mittel-Hoch — vollständige Behandlungsdoku M Mittel — HealthRecord um Medikament/Kosten + Arzt-FK erweitern
8 Dauermedikation Laufende Medikation mit Dosierung (_DOS, z. B. „1× täglich · 0,1 ml"), Dauer (_DAUER), Wirkstoff (_ARZN), Enddatum (_END) Fehlt dauerkrank_tb (27) Mittel — chronisch kranke Tiere, Behandlungsplan M Mittel — eigener HealthRecord-Typ „Dauermedikation" mit Dosierung/Dauer
9 Tierarzt-Stammdaten Adressbuch für Tierärzte (eigene Tabelle, Schema wie Kontakte) Fehlt (Tabelle leer, aber Schema da; krank_tb._AZID referenziert) arzt_tb (0, vorhanden-ungenutzt) Mittel — referenzierbar in Gesundheitseinträgen S Mittel — Kontakt-Rolle „Tierarzt" wiederverwenden statt eigener Tabelle
10 Abgabe-/Reservierungs-Status Reservierung je (Jung-)Tier (abgeben_tb: reserviert _RES, Termin, Abnehmer); Abgabe-Status mit Preis/Datum/Notiz (abstat_tb) TeilweiseGoHomeDate, ReceiverContact, Verträge vorhanden; aber kein expliziter Reservierungs-Workflow vor Abgabe abgeben_tb (21), abstat_tb (23) Mittel-Hoch — Vergabe-Pipeline (reserviert→abgegeben) M Mittel — Status „reserviert" + Reservierungs-Felder, ggf. an Anfragen koppeln
11 Rücknahmen Tier kommt zurück: Rückgabedatum (_ZAM), Rückgabepreis, ursprüngl. Abgabe, Abnehmer, Grund (_BEM) Fehlt getback_tb (17) Mittel — Wiederaufnahme ins Bestand, Historie SM Mittel — Rücknahme-Event je Gerbil (Datum, Grund, Abnehmer)
12 Nachfrage/Warteliste Interessenten-Vormerkung: gewünschte Farbe/Geschlecht/Anzahl, Abnehmer, Datum, Status Teilweise — Anfragen-Inbox (/api/requests) vorhanden, aber keine strukturierte Warteliste nach Wunschkriterien nachfrage_tb (2) Mittel — Matching Wurf ↔ Interessent M Mittel — Wunschkriterien an Anfragen/Kontakt, Match-Vorschlag bei neuem Wurf
13 Medikamenten-/Behandlungs-Nachschlagewerk Notizbuch: Medikament + Anwendungsart (_KAT, z. B. „oral", „eintropfen") + datierte Notiz (HTML) Fehlt notiz_tb (13) Niedrig-Mittel — Wissensspeicher S Niedrig — ggf. als statische Hilfeseite/Notizen
14 Verpaarungs-Vorschau / Genotyp-Erwartung Hinterlegte Verpaarungs-Regel: erwartete Nachkommen-Farben aus Eltern-Genotyp (zugru_tb: Bezeichnung, erwartete Farben-Liste, Bemerkung) Teilweise — wir haben Genetik-Seite + Inbreeding-Rechner + test-inbreeding; erwartete Farbverteilung einer Verpaarung nicht als gespeicherte Vorschau zugru_tb (1) Mittel — Zuchtplanung M Mittel — Punnett/Farb-Erwartung in Genetik-Seite zur Verpaarung anzeigen
15 Ausstellungen/Auszeichnungen Je Tier: Veranstaltung, Datum, Ort, Platzierung, Auszeichnung, Juror Fehlt ausz_tb (0, vorhanden-ungenutzt) Niedrig — von dieser Züchterin nicht genutzt M Niedrig — nur bei konkretem Bedarf
16 Termin-/Kalender Termine mit Priorität, Kategorie, Datum/Zeit, Tier-Ref Fehlt termin_tb (0, vorhanden-ungenutzt) Niedrig-Mittel — Würfe/Reinigung könnten Termine speisen M Niedrig — erst sinnvoll mit Verpaarung+Reinigung als Quelle
17 Finanzen (Einnahmen/Ausgaben/Artikel/Bestand) Einnahmen, Ausgaben, Artikel-Katalog mit Nachbestell-/Mindestmenge, Lagerbestand Fehlt einnahme_tb/ausgabe_tb/artikel_tb/bestand_tb (alle 0, vorhanden-ungenutzt) Niedrig — kein belegter Bedarf L Niedrig — bewusst nicht genutzt; nicht bauen
18 Übersetzungs-/Lokalisierungstabelle RPRO3-interne Mehrsprachen-Strings n/a — wir nutzen strings/de.ts trans_tb (0) Nicht relevant
19 Favoriten-Farbschläge / Zuchtziel-Farben Markierte Wunsch-/Zielfarben (fav_tb, Schema wie color_tb) Fehlt (ungenutzt) fav_tb (0, vorhanden-ungenutzt) Niedrig S Niedrig — optional Farbkatalog-Favoriten

Bereits abgedeckt (kein Gap)

Bereich RPRO3 GerbilManager
Tiere (eigen/extern) stamm_tb (303), fremd_tb (7427) Gerbil + IsResident, /gerbils
Würfe wurf_tb (127), wurftier_tb (562) Litter, /litters, Wurf-Seiten
Stammbaum/Eltern baum_tb (436) Stammbaum-Viewer, Litter→Vater/Mutter
Genotyp/Farbschlag color_tb/wurfcolor_tb/fremdcolor_tb ColorVariety, Genotype-String, Farbkatalog, Genetik
Inzucht (nicht explizit) /gerbils/{id}/inbreeding-coefficient, /genetics/test-inbreedingwir können hier mehr
Kontakte (Herkunft/Abnehmer) herk_tb (645), abn_tb (105) Contact, /contacts
Verträge (RPRO3: nur _VERTRAG-Flag in not_tb) SaleContract, Generator, PDF — wir können hier mehr
Fotos photo_tb (111) GerbilPhoto/EnclosurePhoto
Gewicht adult waage_tb (229) WeightRecord
Gehege (Grunddaten) becken_tb Enclosure (ohne Reinigungszyklus, s. #3)
Statistik prop_tb (Wurf-Stats 2,1 etc.) StatistikPage
Öffentliche Webseite/CMS — (RPRO3 kann das nicht) CMS, /api/pages, Publish — wir können hier mehr
Feedback/Tickets Feedback, TicketsPage — wir können hier mehr

Anmerkungen zur Datendeutung

  • not_tb (12) = Notfall-/Pflegetiere (Tiere nur vorübergehend in Obhut: _NOTRUF, _BIS, _VERTRAG, _ZUBEHOER). Grenzfall zu Abgabe; bei Bedarf als Gerbil-Status „Pflege/Notfall" abbildbar.
  • prop_tb (136) = Wurfgrößen-Statistik je Wurf (z. B. „3 (2,1)" = 3 Welpen, 2♀/1♂). Statistik haben wir.
  • info_tb (19) = App-Konfiguration (Default-Abnehmer/Arzt/Clan-Name) → bei uns BreederSettings.
  • juwa_tb (129) vs. jungwaage_tb (1022): juwa_tb ist die ältere Sammel-/Aggregatform (Datums-Liste in einem Feld), jungwaage_tb die normalisierte Einzelmessung. Für #1 ist jungwaage_tb führend.
  • herk_tb enthält Züchter (Herkunft), abn_tb Abnehmer — bei uns ein vereinheitlichter Contact mit Rolle.

Quick-Win-Empfehlung (Reihenfolge)

  1. Gehege-Reinigungszyklus (#3, S) — wenig Daten, sofortiger Alltagsnutzen.
  2. Tagebuch je Tier (#4, S) — Muster „loses nullable GerbilId" wie Feedback.
  3. Erwerb/Preis je Tier (#6, S) — 2 Felder auf Gerbil + 251 importierbare Zeilen.
  4. Welpen-Wiegekurven (#1, M) — größter Datenbestand (1022 Zeilen), hoher Nutzen.
  5. Verpaarungs-Management (#2, ML) — strategisch wichtigste Lücke.