- 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>
11 KiB
11 KiB
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 | M–L | 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) |
Teilweise — Enclosure 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 |
Teilweise — Gerbil.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) |
Teilweise — HealthRecord 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) |
Teilweise — GoHomeDate, 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 | S–M | 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-inbreeding — wir 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_tbist die ältere Sammel-/Aggregatform (Datums-Liste in einem Feld),jungwaage_tbdie normalisierte Einzelmessung. Für #1 istjungwaage_tbführend.herk_tbenthält Züchter (Herkunft),abn_tbAbnehmer — bei uns ein vereinheitlichter Contact mit Rolle.
Quick-Win-Empfehlung (Reihenfolge)
- Gehege-Reinigungszyklus (#3, S) — wenig Daten, sofortiger Alltagsnutzen.
- Tagebuch je Tier (#4, S) — Muster „loses nullable GerbilId" wie Feedback.
- Erwerb/Preis je Tier (#6, S) — 2 Felder auf Gerbil + 251 importierbare Zeilen.
- Welpen-Wiegekurven (#1, M) — größter Datenbestand (1022 Zeilen), hoher Nutzen.
- Verpaarungs-Management (#2, M–L) — strategisch wichtigste Lücke.