254 lines
8.9 KiB
Markdown
254 lines
8.9 KiB
Markdown
# 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 |
|