banyaro/PROJEKT.md
rene 180de32e57 Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober
SEO & Crawler:
- robots.txt, llms.txt, sitemap.xml (508 Seiten bei Google)
- SSR-Seiten: /info, /wiki/rassen, /wiki/rasse/{slug}, /knigge
- Open Graph, JSON-LD, Breadcrumbs in index.html

Navigation:
- Training unter "Mein Hund", Wissen collapsible
- Welcome-Seite und Landing-Page auf 5-Gruppen-Struktur

Wiki:
- KI-Anreicherung (Claude API): beschreibung, vorkommen_de, Steckbrief
- "So einen hab ich" / Züchter-Verzeichnis
- Scheduler: 50 Rassen beim Start, 20/Nacht

Training:
- Session-Logging (Erfolgsquote, Stimmung, Zufriedenheit)
- Virtueller KI-Trainer (6h-Cache)
- Trainingskalender (Habit-Tracker)
- Top-Training → automatischer Tagebucheintrag
- Gamification ohne Druck: Badges, Streak, Stats

Fortschritts-Lober:
- Jeden Montag 09:00: Claude schreibt Lob-Text pro Hund
- Push + Karte im Tagebuch

Monitoring:
- 4× täglich Status-Mail mit Scheduler-Status + Wiki-Fortschritt
2026-04-21 19:38:20 +02:00

349 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ban Yaro — Die Hunde-Plattform
> "Ban-yaro" ist ein Jedi-Meister aus der Clone-Wars-Ära (Wookieepedia/Jedipedia).
> Der Name wurde von der Züchterin für einen Wurf vergeben — daher kein Namensrechts-Konflikt.
---
## Vision
Ban Yaro ist die erste deutschsprachige All-in-One Hunde-Plattform:
kein US-Konzern, kein App Store Zwang, DSGVO-konform, selbst gehostet.
**Kern-Versprechen:** "Alles rund um deinen Hund — von Welpe bis Opa."
---
## Zielgruppe
**Primär:** Deutschsprachige Hundebesitzer, 25-55 Jahre, smartphone-affin
**Sekundär:** Hundeschulen, Tierärzte, Züchter, lokale Shops
**Markt:** ~10 Mio. Hunde in Deutschland, ~34 Mio. in DACH
---
## Tech-Stack
Konsistent mit akku-werkstatt (bewährt, bekannt):
```
Backend: FastAPI + SQLite (WAL-Modus)
Frontend: Vanilla JS/HTML + CSS (PWA)
Auth: JWT (HttpOnly Cookie + Bearer Token)
Deploy: Docker auf Synology DS1621
Reverse: NPM (Nginx Proxy Manager)
Domain: banyaro.de (zu registrieren)
KI: LM Studio lokal + Claude API für komplexere Tasks
Push: Web Push API (pywebpush)
Maps: Leaflet.js + OpenStreetMap (kostenlos, kein Google-Lock)
```
### PWA-First Strategie
- Kein App Store nötig → sofort updatebar
- "Zum Homescreen hinzufügen" auf iOS und Android
- Offline-fähig via Service Worker
- Web Share Target: App empfängt Fotos/Links aus anderen Apps
---
## Implementierungsstand (aktuell: 2026-04-21, SW by-v279, APP_VER 267)
### Fertig implementiert ✅
#### SEO & Auffindbarkeit
- `robots.txt`, `llms.txt` (für KI-Crawler), dynamische `sitemap.xml`
- Server-gerenderte Seiten (für Google/Crawler): `/info`, `/wiki/rassen`, `/wiki/rasse/{slug}`, `/knigge`
- Open Graph + Twitter Card + JSON-LD in index.html
- Breadcrumb-Structured-Data auf Rassen-Seiten
- Google Search Console eingerichtet, 508 Seiten indexiert
#### Navigation
- Bottom-Nav: Karte · Routen · + · Tagebuch · Forum
- Sidebar: Mein Hund (Tagebuch, Gesundheit, Übungen, Pläne) / Entdecken / Soziales / Community / Wissen (collapsible)
- Welcome-Seite und Landing-Page auf gleiche 5-Gruppen-Struktur abgestimmt
#### Wiki-Rassen
- 500+ Rassen aus Wikidata/TheDogAPI
- KI-Anreicherung via Claude API: Charakter, Vorkommen DE, technische Daten (Scheduler: 02:30 täglich, 20 Rassen)
- "So einen hab ich" / "Interessiert mich" Community-Feature
- Züchter-Verzeichnis (community-basiert, mit Moderation)
- SSR-Detailseiten mit OG-Tags für jede Rasse
#### Training
- Session-Logging: Wiederholungen, Erfolgsquote (0-100%), Hundestimmung, Zufriedenheit (1-5)
- Automatischer Tagebucheintrag bei Top-Training (≥80% + ≥4★)
- Virtueller KI-Trainer: analysiert letzte 20 Sessions, 6h-gecacht
- Trainingskalender (Habit-Tracker-Style, aktueller + letzter Monat)
- Gamification ohne Druck: Badges, Stats-Banner, nur vorwärts zählende Streaks
- Stats-API: Gesamteinheiten, Ø Erfolg, Streak, beste Übung
#### Fortschritts-Lober
- Jeden Montag 09:00: Claude API schreibt 2-3 Sätze Lob für die Vorwoche
- Basiert auf: Tagebuch, Training, Gesundheitseinträge, Wochen-Gesamtzahl
- Nur Lob, kein Rat, kein Druck — spricht über den Hund, nicht den Besitzer
- Push-Notification + Karte im Tagebuch (dezent, wegklickbar)
#### Hintergrund-Scheduler
- Gesundheits-Reminder (08:00)
- Giftköder-Archiv (03:00)
- Wetter-Alert (07:30)
- Meilenstein-Check (00:05)
- Event-Import VDH (So 02:00)
- Wiki KI-Anreicherung (02:30 täglich + Startup)
- Wöchentlicher Lober (Mo 09:00)
- 4× täglicher Status-Report per Mail (07:00 / 13:00 / 19:00 / 01:00)
---
## Feature-Roadmap
### Phase 1 — MVP (Version 1.0)
*Ziel: Echter Nutzen ohne Community-Masse. Funktioniert auch für einen einzelnen Nutzer.*
#### 1.1 Hunde-Profil & Tagebuch (Herzstück)
- [ ] Hunde-Profil anlegen (Name, Rasse, Geburtstag, Foto, Chip-Nr.)
- [ ] Tagebuch: Einträge mit Foto, Text, Datum, GPS-Ort (optional)
- [ ] Milestone-Karten automatisch ("Ban Yaro ist heute 1 Jahr alt!")
- [ ] Jahresrückblick-Generator (Premium)
- [ ] PDF/Printbook-Export (Premium)
- [ ] Öffentliches Profil optional (banyaro.de/hund/name)
#### 1.2 Gesundheit & Impfpass
- [ ] Impfungen, Entwurmungen, Tierarztbesuche digital
- [ ] Medikamenten-Reminder (Push Notification)
- [ ] Gewichtsverlauf-Chart
- [ ] Einfacher Symptom-Checker (KI-gestützt, Triage: beobachten/Tierarzt/Notfall)
#### 1.3 Giftköder-Alarm
- [ ] Fundort melden (GPS + Foto + Beschreibung)
- [ ] Push Notification für alle Nutzer im konfigurierbaren Radius
- [ ] Karte mit aktiven Meldungen (OpenStreetMap/Leaflet)
- [ ] Ablaufdatum (7 Tage ohne Bestätigung → automatisch inaktiv)
- [ ] Bestätigungs- und Moderationssystem
- [ ] Statistiken (Hotspots, saisonale Muster)
#### 1.4 Wetter-Alert
- [ ] Täglicher Push wenn Asphalt-Temperatur kritisch (>40°C)
- [ ] Pollenflug-Alert (für allergische Hunde)
- [ ] Gewitterwarnung mit Tipps für angstvolle Hunde
- [ ] Datenquelle: Open-Meteo API (kostenlos)
#### 1.5 NFC-Halsband-Tag
- [ ] Hunde-Profil als öffentliche URL (ohne Login sichtbar)
- [ ] Notfallkontakte ohne Nummer preiszugeben (vermittelt via App)
- [ ] "Ich habe diesen Hund gefunden" Button → Owner bekommt Push + Finder-Standort
- [ ] NFC-Tags als physisches Produkt anbieten (Shop-Integration, erste Monetarisierung)
---
### Phase 2 — Community (Version 2.0)
*Ziel: Netzwerkeffekte aufbauen. Features die besser werden je mehr Nutzer dabei sind.*
#### 2.1 Gassi-Community
- [ ] Gassi-Treffen erstellen (Ort, Zeit, Hunde willkommen)
- [ ] Live-Standort teilen während Spaziergang (opt-in)
- [ ] Gassi-Route aufzeichnen (GPS-Track)
- [ ] Routen bewerten (Untergrund, Schatten, Leinenpflicht, Sicherheit)
- [ ] Routen filtern (Dauer, Schwierigkeit, hundefreundlich)
#### 2.2 Verlorener Hund
- [ ] Alert mit Foto + letzter GPS-Position
- [ ] Alle Nutzer im Radius alarmieren
- [ ] KI-Foto-Abgleich (ist das derselbe Hund?)
- [ ] Automatische Meldung an Tierheime in der Region
- [ ] "Held des Tages" Badge für erfolgreiche Finder
#### 2.3 Hundesitting-Netzwerk
- [ ] Sitter-Profil (Erfahrung, eigene Hunde, Kapazität)
- [ ] Buchungsanfragen + Kalender
- [ ] Bewertungen + verifizierte Buchungen
- [ ] Provision: 8% (vs. 20% bei Rover/Pawshake)
- [ ] Notfall-Netzwerk: Vertrauenspersonen definieren
#### 2.4 Forum
- [ ] Rassen-basierte Sub-Foren
- [ ] Lokale Boards (PLZ-basiert)
- [ ] KI-Zusammenfassung langer Threads
- [ ] Experten-Badge (Tierarzt, Trainer verifiziert)
- [ ] "Ähnliche Fragen" (KI-Duplikat-Erkennung)
#### 2.5 Hundefreundliche Orte
- [ ] Crowd-sourced Datenbank (differenziert: darf rein? Wasser? Leine?)
- [ ] Foto vom Eingangsbereich
- [ ] "War mit großem Hund da" spezifische Bewertungen
- [ ] Negativbewertungen möglich ("Schild sagt ja, Personal sagt nein")
---
### Phase 3 — Wissen & Content (Version 2.5)
*Ziel: SEO-Traffic, Nutzerbindung auch ohne aktive Community-Nutzung*
#### 3.1 Hunde-Wiki
- [ ] Rassen-Datenbank (Charakter, Gesundheit, Pflege)
- [ ] "Passt diese Rasse zu mir?" Quiz
- [ ] Gesundheits-Wiki (Zecken mit RKI-Risikogebiete-Karte, Vergiftungen, Erste Hilfe)
- [ ] Recht & Regeln (Leinenpflicht, Rasselisten, Hundsteuer je Bundesland)
- [ ] Community-Erfahrungsberichte je Rasse
- [ ] Züchter-Verzeichnis (VDH-verifiziert)
#### 3.2 Hunde-Knigge
- [ ] Begegnungen (fremder Hund, Kinder, Radfahrer)
- [ ] Öffentliche Orte (ÖPNV-Regeln je Stadt)
- [ ] "Was wäre richtig?" Community-Szenarien mit Abstimmung
- [ ] KI-Situationsberater
- [ ] Haftpflicht-Ratgeber (Verbindung zu Versicherungspartner)
#### 3.3 Events & Kultur
- [ ] Agility-Turniere, Hundeausstellungen (VDH-Kalender scrapen)
- [ ] Hundefilme (Datenbank + "Stirbt der Hund?" Rubrik)
- [ ] Hundeberühmtheiten (historisch + Instagram/TikTok)
- [ ] "Hund des Monats" Community-Voting
---
### Phase 4 — Smart Features (Version 3.0)
*Ziel: Premium-Differenzierung, Daten-Netzwerk-Effekte*
#### 4.1 Futter-Intelligence
- [ ] Barcode-Scanner → Inhaltsstoffe gegen Hunde-Profil prüfen
- [ ] Personalisiertes Rating (Rasse, Alter, Allergien)
- [ ] Preis-Tracking (Zooplus, Fressnapf, Zooroyal)
- [ ] Preisalarm via Push
- [ ] Nachhaltigkeits-Score
- [ ] Sammelbestellung (Gruppe kauft zusammen → Mengenrabatt)
#### 4.2 Smart Collar Integration
- [ ] Tractive API → GPS-Tracks in Ban Yaro einlesen
- [ ] Fi Collar Integration
- [ ] Automatisch: Route → Tagebuch
- [ ] Geofence-Alarm → Notfall-Netzwerk aktivieren
#### 4.3 EU-Reisepass
- [ ] Einreiseregeln je Land (automatisch aktuell gehalten)
- [ ] Checkliste für eigenen Hund ("Was brauche ich für Spanien?")
- [ ] Zeitplan mit Tierarzt-Reminder
- [ ] PDF-Export
#### 4.4 Erziehungs-KI
- [ ] Tägliches Trainings-Tagebuch (30-Sekunden-Eintrag)
- [ ] Muster-Erkennung über Zeit ("Du trainierst erfolgreich morgens")
- [ ] Vergleich mit anderen Hunden gleicher Rasse (anonym)
- [ ] Automatischer Trainingsplan
---
## Monetarisierung
```
FREEMIUM-MODELL:
Kostenlos (immer):
- Hunde-Profil (max. 1 Hund)
- Giftköder-Alarm
- Verlorener Hund
- Wiki & Knigge
- Forum
- Grundfunktionen Tagebuch
Premium — "Ban Yaro Plus" ~4,99€/Monat:
- Unbegrenzte Hunde-Profile
- Tagebuch PDF/Printbook-Export
- Jahresrückblick
- Symptom-Checker unlimitiert
- Preisalarm (unbegrenzt viele Produkte)
- Futter-Barcode Scanner
- Smart Collar Integration
- EU-Reisepass Checkliste
- Erziehungs-KI
Provisions-Modell:
- Hundesitting: 8% Provision (vs. 20% Rover)
Physische Produkte:
- NFC-Halsband-Tags: ~6€ Stück (Marge ~70%)
- Jahresrückblick als gedrucktes Fotobuch (Partnerschaft)
Partner-Modell (später):
- Hundeschulen-Verzeichnis (verifizierter Badge)
- Tierarzt-Telemedizin Weiterleitung (Affiliate)
- Versicherungspartner (Haftpflicht-Ratgeber → Lead)
```
---
## Go-to-Market
### Launch-Strategie
1. **Soft Launch** mit Giftköder-Alarm allein → viral in Hundebesitzer-Facebook-Gruppen
2. **Ban Yaro** (der echte Hund) als Maskottchen / erster Tagebuch-Eintrag
3. **Hundetrainer und Tierärzte** als Multiplikatoren (Experten-Badge)
4. **VDH-Vereinskooperation** für Event-Kalender → Backlinks + Traffic
5. **TikTok/Instagram** mit "Stirbt der Hund?" Film-Rubrik → virales Potential
### SEO-Angriffspunkte
- "Giftköder [Stadt]" — stark lokaler Suchbegriff, hohe Emotion
- "Hundefreundliche Restaurants [Stadt]"
- "[Rasse] Erziehungstipps"
- "Hund nach [Land] reisen"
---
## Technische Architektur (Detail)
```
ban-yaro/
├── backend/
│ ├── main.py # FastAPI App
│ ├── models.py # SQLite Datenbankmodelle
│ ├── auth.py # JWT Auth
│ ├── push.py # Web Push (pywebpush)
│ ├── maps.py # Leaflet/OSM Helpers
│ ├── ki.py # KI-Integration (lokal + Claude)
│ ├── scraper/
│ │ ├── weather.py # Open-Meteo API
│ │ ├── events.py # VDH Turnierkalender
│ │ └── prices.py # Futter-Preise (Phase 4)
│ └── static/
│ ├── index.html # SPA Shell
│ ├── manifest.json # PWA Manifest
│ ├── sw.js # Service Worker
│ ├── shared.css # Design System
│ └── pages/ # HTML-Seiten je Feature
├── docker-compose.yml
├── Dockerfile
└── PROJEKT.md # Diese Datei
```
### Datenbank-Kernmodelle
```
users → id, email, pw_hash, rolle, push_sub, created_at
dogs → id, user_id, name, rasse, geburtsdatum, chip_nr, foto
tagebuch → id, dog_id, datum, text, foto, gps_lat, gps_lon, typ
gesundheit → id, dog_id, typ, datum, naechstes_datum, notiz
giftkoedar → id, user_id, lat, lon, foto, beschreibung, bestaetigt, expires_at
routen → id, user_id, gps_track (JSON), bewertung, tags
events → id, titel, datum, ort_lat, ort_lon, typ, quelle
orte → id, name, lat, lon, typ, hund_erlaubt, bewertung
forum_posts → id, user_id, dog_id, thread_id, text, created_at
```
---
## Nächste Schritte
- [x] Domain banyaro.de registriert ✓
- [x] Domain banyaro.app registriert ✓
(banyaro.com = japanisches Rhythm-Game "バンドやろうぜ!", kein Konflikt)
Strategie: banyaro.app = primäre Domain, banyaro.de → Redirect auf .app
- [x] Forgejo-Repo angelegt ✓
SSH: ssh://git@dsm.motocamp.de:2222/rene/banyaro.git
HTTPS: https://git.motocamp.de/rene/banyaro.git
- [ ] Docker-Grundstruktur aufsetzen (wie akku-werkstatt)
- [ ] Phase 1 Feature 1.1 beginnen: Hunde-Profil + Tagebuch
- [ ] Design-System definieren (Farben, Fonts — Hunde-Feeling aber modern)
---
*Erstellt: 2026-04-12*
*Stack: FastAPI + SQLite + Vanilla PWA, Deploy auf DS1621*