Rebuild as InnungsApp project: replace stadtwerke analysis with full documentation

- PRD: vollständige Produktspezifikation (5 Module, Scope, Akzeptanzkriterien)
- ARCHITECTURE: Tech Stack, Ordnerstruktur, Multi-Tenancy, Push, Kosten
- DATABASE_SCHEMA: Vollständiges SQL-Schema mit RLS Policies und Views
- USER_STORIES: 40+ Stories nach Rolle (Admin, Mitglied, Azubi, Obermeister)
- PERSONAS: 5 detaillierte Nutzerprofile mit Alltag, Zitaten und Erwartungen
- BUSINESS_MODEL: Preistabellen, Unit Economics, Revenue-Projektionen, Distribution
- ROADMAP: 6 Phasen, Sprint-Planung, Meilensteine und KPIs
- COMPETITIVE_ANALYSIS: Wettbewerbsmatrix, USPs, Preispositionierung
- API_DESIGN: Supabase Query Patterns, Edge Functions, Realtime Subscriptions
- ONBOARDING_FLOWS: 7 User Flows von Setup bis Fehlerfall
- GTM_STRATEGY: 3-Phasen-Vertrieb, Outreach-Sequenz, Einwandbehandlung
- AZUBI_MODULE: Video-Feed, 1-Click-Apply, Chat, Berichtsheft, Quiz
- DSGVO_KONZEPT: Rechtsgrundlagen, TOMs, AVV, Minderjährige, Incident Response
- FEATURES_BACKLOG: 72 Features nach MoSCoW + Technische Schulden

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Timo Knuth
2026-02-18 19:03:37 +01:00
parent fc68285cf1
commit fca42db4d2
116 changed files with 9329 additions and 6479 deletions

249
ROADMAP.md Normal file
View File

@@ -0,0 +1,249 @@
# InnungsApp — Entwicklungs-Roadmap
> **Methodik:** Agile, 2-Wochen-Sprints | **Start:** März 2026
---
## Phase 0 — Setup & Foundation (Woche 12)
**Ziel:** Fundament für schnelle Entwicklung legen
### Woche 1: Technisches Setup
- [ ] Supabase-Projekt aufsetzen (Production + Staging)
- [ ] Datenbankschema deployen (alle Tabellen, Indizes)
- [ ] Row Level Security Policies schreiben und testen
- [ ] Supabase Auth konfigurieren (Magic Link, E-Mail-Templates)
- [ ] Expo-Projekt initialisieren (React Native + TypeScript)
- [ ] Expo Router Grundstruktur anlegen
- [ ] Next.js Admin-App initialisieren
- [ ] CI/CD: Gitea → Vercel (Admin) + EAS (Mobile)
- [ ] Environments: development / staging / production
### Woche 2: Design & Pilot-Gespräch
- [ ] Design-Tokens definieren: Farben, Typography, Spacing, Radius
- [ ] Figma-Mockups: Login, Mitgliederverzeichnis, News Feed, Terminliste
- [ ] Erste Innung als Design-Partner ansprechen (Kaltakquise BW)
- [ ] Demo-Call vereinbaren für Woche 3
- [ ] Supabase TypeScript-Types generieren
**Deliverables:**
- Supabase-Projekt live (Staging)
- Expo App startet auf Simulator
- Figma-Mockups für alle MVP-Screens
- Demo-Call mit erster Innung geplant
---
## Phase 1 — Core MVP (Woche 310)
### Sprint 1 (Woche 34): Auth + Mitgliederverzeichnis
**Mobile:**
- [ ] Login-Screen mit Magic Link (E-Mail-Eingabe)
- [ ] Verify-Screen (Token-Verarbeitung nach Link-Klick)
- [ ] Auth Guard (Redirect bei nicht eingeloggt)
- [ ] Mitgliederverzeichnis: Liste mit Suche
- [ ] Filter-Bottom-Sheet: Sparte, Ort, Ausbildungsbetrieb
- [ ] Mitglied-Detailansicht: alle Infos, Tap-to-Call, Tap-to-Mail
**Admin:**
- [ ] Login-Page
- [ ] Mitgliederliste mit Tabelle und Suche
- [ ] Mitglied anlegen / bearbeiten (Formular)
- [ ] Mitglied deaktivieren
**Backend:**
- [ ] RLS Policies für members testen
- [ ] CSV-Import Endpoint (Supabase Edge Function)
- [ ] Einladungs-E-Mail via Resend
---
### Sprint 2 (Woche 56): News & Push Notifications
**Mobile:**
- [ ] News Feed: Liste, Kategoriefilter, Ungelesen-Badge
- [ ] Beitrag-Detailansicht: Text, Anhänge (PDF-Viewer)
- [ ] Push-Token-Registrierung beim Login
- [ ] Gelesen-Tracking (mark as read on open)
**Admin:**
- [ ] Beitrag erstellen: Rich-Text-Editor, Kategorie, PDF-Anhang
- [ ] Beitrag zeitgesteuert veröffentlichen
- [ ] Leserate-Anzeige pro Beitrag
- [ ] Beitrag anpinnen
**Backend:**
- [ ] Supabase Database Webhook → Edge Function → Expo Push API
- [ ] news_reads Tracking
- [ ] Supabase Storage für PDF-Anhänge
---
### Sprint 3 (Woche 78): Termine & Anmeldungen
**Mobile:**
- [ ] Terminliste chronologisch
- [ ] Filter nach Typ (Prüfung, Kurs, etc.)
- [ ] Termin-Detailansicht
- [ ] An-/Abmeldebutton
- [ ] iCal-Export
- [ ] Bestätigungs-E-Mail nach Anmeldung
**Admin:**
- [ ] Termin anlegen / bearbeiten
- [ ] Teilnehmerliste einsehen
- [ ] Teilnehmerliste CSV-Export
**Backend:**
- [ ] termine_anmeldungen mit UNIQUE constraint
- [ ] E-Mail bei Anmeldung (Resend)
- [ ] Push Reminder 24h vorher (geplante Edge Function)
---
### Sprint 4 (Woche 910): Lehrlingsbörse & Admin Dashboard
**Mobile (öffentlich, kein Login):**
- [ ] Stellenliste: Suche, Filter (Sparte, Ort, Lehrjahr)
- [ ] Stellen-Detailansicht: alle Infos, Vergütung, Kontakt
- [ ] Direktkontakt: Tap-to-Call / Tap-to-Mail
**Mobile (Mitglied mit Login):**
- [ ] Eigene Stelle anlegen (wenn ausbildungsbetrieb = true)
- [ ] Stelle aktivieren / pausieren / löschen
**Admin:**
- [ ] Alle Stellen der Innung einsehen
- [ ] Stelle moderieren (ausblenden)
**Admin Dashboard Home:**
- [ ] Übersichtszahlen: Mitglieder, aktive Nutzer (7 Tage), WAU
- [ ] Letzte 5 Beiträge mit Leserate
- [ ] Nächste 5 Termine mit Anmeldezahl
- [ ] Quick Actions: Mitglied einladen, Beitrag erstellen
---
## Phase 2 — Polish & Launch (Woche 1114)
### Woche 1112: Onboarding & UX
- [ ] Onboarding-Wizard für neue Innungen (Admin-Setup: Name, Logo, Sparten)
- [ ] First-Use-Tutorial in der Mobile App (Overlay / Tooltips)
- [ ] Leeransicht für leere Listen (Mitglieder, News, Termine)
- [ ] Error States und Retry-Logik
- [ ] Offline-Handling (Cached Data anzeigen)
- [ ] App Icon + Splash Screen
- [ ] Push Notification Permission-Prompt (optimierter Zeitpunkt)
### Woche 1314: App Store Submission & Pilot Launch
- [ ] iOS: App Store Connect, Screenshots, App-Beschreibung
- [ ] Android: Google Play Console, Screenshots
- [ ] EAS Submit für beide Stores
- [ ] TestFlight Beta mit Pilot-Innung
- [ ] 5 Pilotinnungen live schalten
- [ ] PostHog Events in alle kritischen Flows einbauen
- [ ] Feedback-Formular in der App (NPS-Umfrage nach 2 Wochen)
- [ ] Support-Prozess definieren (E-Mail + FAQ-Seite)
**Launch-Kriterien:**
- [ ] Alle 5 MVP-Module funktionieren ohne kritische Bugs
- [ ] Push Notifications ankommen
- [ ] Login-Flow < 60 Sekunden
- [ ] Keine DSGVO-Lücken
- [ ] 1 Pilot-Innung hat App bestätigt
---
## Phase 3 — Post-MVP Q2 2026
### Modul: Dokumentenarchiv
- [ ] Kategorien: Formulare, Satzungen, Prüfungsunterlagen, Protokolle
- [ ] Upload (PDF, Word, Excel) via Admin
- [ ] Download in Mobile App
- [ ] Versionsverwaltung (letzte 3 Versionen behalten)
- [ ] Suche über Dokumententitel
### Modul: Statistik-Dashboard (Admin)
- [ ] DAU / WAU / MAU Grafiken (letzte 90 Tage)
- [ ] Aktivierungsrate: Eingeladene vs. Eingeloggte
- [ ] News-Performance: Top 10 meistgelesene Beiträge
- [ ] Termin-Auslastung: Anmeldequote pro Termin
- [ ] Lehrstellenaktivität: Views, Kontaktanfragen
- [ ] Monatsbericht als PDF-Export
### Modul: Videokonferenz-Integration
- [ ] Zoom / Teams-Link in Terminen hinterlegen
- [ ] "Jetzt beitreten"-Button in Termin-Detailansicht
- [ ] Erinnerung mit Link in Push Notification
---
## Phase 4 — Post-MVP Q3 2026
### Modul: Azubi Video-Feed (Kernstück Azubi-Modul)
- [ ] TikTok-Style vertikaler Video-Feed pro Beruf
- [ ] Video-Upload für Mitgliedsbetriebe (Mux-Integration)
- [ ] Berufs-Tags und Filter
- [ ] Like / Speichern
- [ ] "Mehr erfahren" → Direktkontakt zum Betrieb
### Modul: 1-Click-Bewerbung
- [ ] Bewerber-Profil anlegen (Name, Schulabschluss, Interessen, Wohnort)
- [ ] "Bewerben" Button bei Lehrstellenanzeige
- [ ] Chat-Initiierung: Bewerber ↔ Betrieb (In-App Messaging)
- [ ] Benachrichtigung an Betrieb
### Modul: Digitales Berichtsheft (Azubis)
- [ ] Täglicher Eintrag: Text, Foto, Sprachnotiz
- [ ] Wochenansicht
- [ ] Betrieb kann Einträge bestätigen / kommentieren
- [ ] Export als PDF (für Prüfer)
---
## Phase 5 — Post-MVP Q4 2026
### Modul: Prüfungsvorbereitung
- [ ] Fragenkatalog pro Gewerk (manuell gepflegt)
- [ ] Tägliches Quiz (5 Fragen, Push-Reminder)
- [ ] Lernfortschritt-Tracking
- [ ] Schwächen-Analyse: "Diese Themen solltest du wiederholen"
### White-Label für HWK
- [ ] Eigene Domain pro Innung: `innung-elektro-stuttgart.de`
- [ ] Vollständige Logo/Farb-Anpassung
- [ ] HWK-Dashboard: Alle Innungen im Bezirk auf einen Blick
- [ ] HWK kann Nachrichten an alle Innungen senden
### Verbands-API
- [ ] REST API für externe Systeme (HWK-eigene Software)
- [ ] Webhook-Integration (neue Mitglieder, neue Stellen)
- [ ] Dokumentierte API (OpenAPI/Swagger)
---
## Meilensteine & KPIs
| Meilenstein | Datum | KPI |
|---|---|---|
| Supabase + Expo Setup | KW 10/2026 | Technisches Fundament bereit |
| Erster Pilot live | KW 15/2026 | 1 Innung aktiv |
| App Store Launch | KW 16/2026 | iOS + Android verfügbar |
| 5 Piloten aktiv | KW 20/2026 | WAU > 40%, NPS > 50 |
| Erster zahlender Kunde | KW 22/2026 | MRR > 0 € |
| 10 zahlende Innungen | KW 32/2026 | MRR > 1.500 € |
| Erste HWK-Partnerschaft | KW 40/2026 | Distributionskanal validiert |
| 50 Innungen | KW 10/2027 | MRR > 8.500 €, Profitabilität |
| 100 Innungen | KW 26/2027 | MRR > 18.000 €, Seed-Bereit |