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:
253
PRD.md
Normal file
253
PRD.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# InnungsApp — Product Requirements Document (PRD)
|
||||
|
||||
> **Version:** 2.0 | **Status:** In Review | **Owner:** Timo Knuth
|
||||
> **Zielmarkt:** Innungen & Kreishandwerkerschaften in Deutschland
|
||||
|
||||
---
|
||||
|
||||
## 1. Problemdefinition
|
||||
|
||||
### 1.1 Status Quo bei Innungen
|
||||
|
||||
Deutsche Handwerksinnungen verwalten ihre Mitglieder und kommunizieren heute mit:
|
||||
- **Excel-Tabellen** für Mitgliederverwaltung (lokal, nicht synchronisiert)
|
||||
- **WhatsApp-Gruppen** für interne Kommunikation (DSGVO-Problem)
|
||||
- **E-Mail-Verteiler** für Rundschreiben (kein Tracking, kein Self-Service)
|
||||
- **PDF-Formulare** per Post für Anmeldungen (langsam, fehleranfällig)
|
||||
- **Vereinzelte Websites** für die Lehrstellenbörse (veraltet, schlecht mobil)
|
||||
|
||||
### 1.2 Konkrete Pain Points
|
||||
|
||||
**Geschäftsführer / Admin:**
|
||||
- Mitgliederdaten pflegen ist zeitaufwendig (manuelle Excel-Updates)
|
||||
- Keine Ahnung, ob Rundschreiben gelesen wurden
|
||||
- Terminanmeldungen kommen per Telefon und E-Mail — chaotisch
|
||||
- Lehrstelleninserate manuell auf Website pflegen
|
||||
|
||||
**Innungsmitglied (Betrieb):**
|
||||
- Verpasst wichtige Informationen, weil E-Mails übersehen werden
|
||||
- Keine Möglichkeit, Ausbildungsstellen einfach zu veröffentlichen
|
||||
- Muss für jede Kleinigkeit den Geschäftsführer anrufen
|
||||
|
||||
**Azubi-Bewerber (Gen Z):**
|
||||
- Stellenangebote auf Websites sind veraltet und langweilig
|
||||
- Muss PDF-Bewerbungen per E-Mail schicken (antiquiert)
|
||||
- Kein Einblick in den Berufsalltag
|
||||
|
||||
### 1.3 Warum jetzt?
|
||||
|
||||
1. **Fachkräftemangel als Treiber:** ~250.000 unbesetzte Ausbildungsplätze in Deutschland (2025)
|
||||
2. **Digitalisierungsdruck:** Post-Corona haben Innungen erkannt, dass digitale Tools fehlen
|
||||
3. **Generationenwechsel:** Jüngere Obermeister und Geschäftsführer sind technikaffin
|
||||
4. **Fördergelder:** BMWi und HWKs haben Digitalisierungsprogramme mit Budget
|
||||
|
||||
---
|
||||
|
||||
## 2. Produktvision
|
||||
|
||||
**Vision Statement:**
|
||||
> InnungsApp wird die Standard-Infrastruktur des deutschen Handwerks — die Plattform, auf der Innungen verwalten, kommunizieren, Azubis finden und ihre Mitglieder vernetzen.
|
||||
|
||||
**Mission:**
|
||||
> Das deutsche Handwerk digital und zukunftsfähig machen — beginnend mit dem direkten Werkzeug jeder Innung.
|
||||
|
||||
---
|
||||
|
||||
## 3. Zielgruppe & Rollen
|
||||
|
||||
### Primäre Käufer (B2B)
|
||||
|
||||
| Rolle | Beschreibung | Hauptmotivation |
|
||||
|---|---|---|
|
||||
| **Innungsgeschäftsführer** | Hauptadmin, verwaltet alles | Zeitersparnis, Übersicht |
|
||||
| **Obermeister** | Vorsitzender der Innung | Reputation, Mitgliederservice |
|
||||
|
||||
### Primäre Nutzer (Enduser)
|
||||
|
||||
| Rolle | Beschreibung | Hauptbedürfnis |
|
||||
|---|---|---|
|
||||
| **Mitglied (Betrieb)** | Inhaberin/Inhaber des Mitgliedsbetriebs | Information, Azubi finden |
|
||||
| **Azubi-Bewerber** | 15–20 Jahre, sucht Ausbildungsplatz | Einfache, moderne Bewerbung |
|
||||
| **Lernender (Azubi)** | In der Ausbildung | Berichtsheft, Prüfungsvorbereitung |
|
||||
|
||||
### Sekundäre Nutzer (Post-MVP)
|
||||
|
||||
- Prüfungsausschüsse (Gesellenprüfungen)
|
||||
- HWK-Mitarbeiter (übergeordnete Verwaltung)
|
||||
- Lieferanten / Hersteller (Marktplatz-Modul)
|
||||
|
||||
---
|
||||
|
||||
## 4. Feature-Scope MVP
|
||||
|
||||
### 4.1 Modul: Mitgliederverzeichnis
|
||||
|
||||
**Ziel:** Zentrales, durchsuchbares Verzeichnis aller Mitgliedsbetriebe.
|
||||
|
||||
**User Stories:**
|
||||
- Als Mitglied möchte ich andere Betriebe in meiner Innung finden, um mich zu vernetzen
|
||||
- Als Admin möchte ich Mitglieder anlegen, bearbeiten und deaktivieren
|
||||
|
||||
**Funktionen:**
|
||||
- Liste aller Mitgliedsbetriebe mit Suche und Filter
|
||||
- Filter: Sparte, Ort, Ausbildungsbetrieb ja/nein, Status
|
||||
- Detailansicht: Name, Betrieb, Sparte, Ort, Telefon, E-Mail, Website, Ausbildungsbetrieb
|
||||
- Direktkontakt: Tap-to-Call, Tap-to-Mail
|
||||
- Admin-CRUD: Mitglied anlegen, bearbeiten, deaktivieren, Einladungs-E-Mail senden
|
||||
- Status-Management: aktiv / ruhend / ausgetreten
|
||||
|
||||
**Nicht im MVP:**
|
||||
- Öffentliches Unternehmensverzeichnis (für Endkunden)
|
||||
- Bewertungssystem
|
||||
- Karten-/Geo-Ansicht
|
||||
- CRM-Integration
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Modul: Mitteilungen & News
|
||||
|
||||
**Ziel:** Gesteuerter Kommunikationskanal von der Innung an ihre Mitglieder.
|
||||
|
||||
**User Stories:**
|
||||
- Als Admin möchte ich Mitteilungen mit Push-Notification versenden, um sicherzustellen, dass alle erreicht werden
|
||||
- Als Mitglied möchte ich wichtige Mitteilungen einfach finden und nicht in E-Mails suchen müssen
|
||||
|
||||
**Funktionen:**
|
||||
- Feed aller Beiträge, chronologisch sortiert
|
||||
- Kategorien: Wichtig / Prüfung / Förderung / Veranstaltung / Allgemein
|
||||
- Push-Notification bei neuem Beitrag (optional konfigurierbar)
|
||||
- Ungelesen/Gelesen-Status pro Nutzer und Beitrag
|
||||
- PDF-Anhänge (Rundschreiben, Formulare)
|
||||
- Admin: Beitrag erstellen, bearbeiten, löschen, zeitgesteuert veröffentlichen
|
||||
- Admin: Leserate pro Beitrag einsehen
|
||||
|
||||
**Nicht im MVP:**
|
||||
- Kommentarfunktion (erhöht Moderationsaufwand)
|
||||
- Mitglieder-Posts (asymmetrischer Kanal gewollt)
|
||||
- Direktnachrichten / Chat
|
||||
|
||||
---
|
||||
|
||||
### 4.3 Modul: Lehrlingsbörse (Basic)
|
||||
|
||||
**Ziel:** Ausbildungsplätze der Mitgliedsbetriebe einfach veröffentlichen und finden.
|
||||
|
||||
**User Stories:**
|
||||
- Als Betrieb möchte ich meine Ausbildungsstellen einfach einstellen, ohne die Innung fragen zu müssen
|
||||
- Als Bewerber möchte ich Stellen ohne Registrierung durchsuchen
|
||||
|
||||
**Funktionen (Betrieb):**
|
||||
- Stelle anlegen: Sparte, Anzahl, Vergütung nach Lehrjahr, Ausbildungsstart, Kontakt
|
||||
- Stelle aktivieren / pausieren / löschen
|
||||
- Bewerbungskontakt: E-Mail oder Telefon
|
||||
|
||||
**Funktionen (Bewerber, öffentlich ohne Login):**
|
||||
- Stellenliste durchsuchen
|
||||
- Filter: Sparte, Ort, Lehrjahr, Ausbildungsstart
|
||||
- Direktkontakt zum Betrieb (E-Mail / Telefon)
|
||||
|
||||
**Nicht im MVP:**
|
||||
- In-App Bewerbungsformular
|
||||
- Matching-Algorithmus
|
||||
- Video-Feed (→ Azubi-Modul Advanced, Q2)
|
||||
- Berichtsheft
|
||||
|
||||
---
|
||||
|
||||
### 4.4 Modul: Termine & Veranstaltungen
|
||||
|
||||
**Ziel:** Veranstaltungskalender mit An-/Abmeldefunktion und Teilnehmermanagement.
|
||||
|
||||
**User Stories:**
|
||||
- Als Admin möchte ich Termine anlegen und die Teilnehmerliste einsehen
|
||||
- Als Mitglied möchte ich mich für Veranstaltungen anmelden und den Termin in meinen Kalender exportieren
|
||||
|
||||
**Funktionen:**
|
||||
- Terminliste mit Typ-Tags: Prüfung / Versammlung / Kurs / Event / Lossprechung
|
||||
- Termindetail: Titel, Datum, Uhrzeit, Ort, Beschreibung, Typ
|
||||
- An-/Abmeldung mit E-Mail-Bestätigung
|
||||
- Kalenderexport: iCal / Google Calendar / Outlook
|
||||
- Admin: Termin anlegen, Teilnehmerliste exportieren (CSV)
|
||||
- Push-Notification 24h vor Termin
|
||||
|
||||
**Nicht im MVP:**
|
||||
- Bezahlte Events / Ticketing
|
||||
- Wartelisten-Management
|
||||
- Videokonferenz-Links (Q2)
|
||||
- Saalplan / Sitzordnung
|
||||
|
||||
---
|
||||
|
||||
### 4.5 Modul: Admin-Dashboard (Web)
|
||||
|
||||
**Ziel:** Webbasiertes Backend für Innungsgeschäftsführer.
|
||||
|
||||
**Funktionen:**
|
||||
- Übersicht: Mitgliederzahl, aktive Nutzer, ungelesene Beiträge
|
||||
- Mitgliederverwaltung: CRUD, Massenimport via CSV, Einladungsversand
|
||||
- Newsroom: Beiträge erstellen, planen, Leserate sehen
|
||||
- Terminverwaltung: CRUD, Teilnehmerliste
|
||||
- Lehrstellenverwaltung: Alle Stellen aller Betriebe einsehen und moderieren
|
||||
- Einstellungen: Innungslogo, Farbe, Kontaktdaten, Spartenverzeichnis
|
||||
- Einfache Analytics: DAU/MAU, Aktivierungsrate, meistgelesene Beiträge
|
||||
|
||||
**Tech:** Next.js Web-App auf `app.innungsapp.de/admin`
|
||||
|
||||
---
|
||||
|
||||
## 5. Out of Scope — MVP
|
||||
|
||||
| Feature | Begründung | Roadmap |
|
||||
|---|---|---|
|
||||
| Chat / Direktnachrichten | Moderation, DSGVO-Komplexität | Q3 2026 |
|
||||
| Dokumentenarchiv | Fokus zuerst auf Kernkommunikation | Q2 2026 |
|
||||
| Prüfungsverwaltung | Hochreguliert, eigenes Produkt | Q4 2026 |
|
||||
| Mitgliederbeiträge / Buchhaltung | Buchhaltungsintegration nötig | 2027 |
|
||||
| Video-Feed (TikTok-Style) | Eigenes Azubi-Modul | Q2 2026 |
|
||||
| Berichtsheft digital | Komplex, eigenes Feature | Q3 2026 |
|
||||
| Mehrsprachigkeit | Zielgruppe DE-only | 2027 |
|
||||
| White-Label für HWK | Post Product-Market-Fit | Q4 2026 |
|
||||
| Marktplatz / Lieferantenportal | Separate Business Unit | 2027 |
|
||||
|
||||
---
|
||||
|
||||
## 6. Nicht-funktionale Anforderungen
|
||||
|
||||
### Performance
|
||||
- App-Ladezeit (Cold Start): < 3 Sekunden
|
||||
- Feed-Ladezeit: < 1 Sekunde
|
||||
- Push-Notification-Delivery: > 95 % innerhalb 30 Sekunden
|
||||
|
||||
### Sicherheit & Datenschutz
|
||||
- DSGVO-konform: Datenverarbeitung nur in EU (Frankfurt)
|
||||
- AVV (Auftragsverarbeitungsvertrag) mit jeder Innung
|
||||
- Row Level Security: Jede Innung sieht ausschließlich ihre eigenen Daten
|
||||
- Keine Weitergabe von Mitgliederdaten an Dritte
|
||||
- Datenlöschung auf Anfrage innerhalb 30 Tage
|
||||
|
||||
### Verfügbarkeit
|
||||
- Uptime-Ziel: 99,5 % (Supabase SLA)
|
||||
- Geplante Wartungsfenster: nachts 02:00–04:00 Uhr
|
||||
|
||||
### Skalierbarkeit
|
||||
- MVP-Kapazität: 100 Innungen, je bis 500 Mitglieder
|
||||
- Skalierung auf 10.000 Innungen ohne Architekturänderung (Supabase managed)
|
||||
|
||||
### Barrierefreiheit
|
||||
- iOS: Unterstützung für Dynamic Type und VoiceOver
|
||||
- Mindest-Textgröße: 14pt
|
||||
- Kontrastverhältnis: WCAG AA
|
||||
|
||||
---
|
||||
|
||||
## 7. Akzeptanzkriterien MVP
|
||||
|
||||
| Feature | Kriterium |
|
||||
|---|---|
|
||||
| Login | Nutzer kann sich via Magic Link in < 60 Sek. einloggen |
|
||||
| Mitgliederverzeichnis | Admin kann Mitglied in < 2 Minuten anlegen |
|
||||
| News | Beitrag ist nach Veröffentlichung in < 10 Sek. für alle sichtbar |
|
||||
| Push-Notification | 95 % der Nutzer empfangen Push innerhalb 30 Sek. |
|
||||
| Lehrlingsbörse | Stelle ist öffentlich sichtbar ohne Login |
|
||||
| Termine | Anmeldung + Kalenderexport in < 3 Klicks |
|
||||
| Multi-Tenancy | Kein Mitglied sieht Daten einer anderen Innung |
|
||||
Reference in New Issue
Block a user