stadtwerke/FEATURES_BACKLOG.md

130 lines
6.4 KiB
Markdown
Raw Permalink 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.

# InnungsApp — Feature Backlog
> Priorisiert nach MoSCoW: **M**ust | **S**hould | **C**ould | **W**on't (MVP)
> Sortiert nach Impact / Effort Score (H = Hoch, M = Mittel, N = Niedrig)
---
## MVP Must-Have (Phase 1)
| ID | Feature | Modul | Impact | Effort | Sprint |
|---|---|---|---|---|---|
| F-001 | Magic Link Login (E-Mail) | Auth | H | N | 1 |
| F-002 | Auth Guard (geschützte Routes) | Auth | H | N | 1 |
| F-003 | Mitgliederverzeichnis (Liste + Suche) | Mitglieder | H | N | 1 |
| F-004 | Mitglied-Detailansicht + Tap-to-Call | Mitglieder | H | N | 1 |
| F-005 | Filter: Sparte, Ort, Ausbildungsbetrieb | Mitglieder | M | N | 1 |
| F-006 | Admin: Mitglied anlegen / bearbeiten | Mitglieder | H | M | 1 |
| F-007 | Admin: Mitglied deaktivieren | Mitglieder | H | N | 1 |
| F-008 | CSV-Import Mitglieder | Mitglieder | H | M | 1 |
| F-009 | Einladungsmail per Resend | Mitglieder | H | N | 1 |
| F-010 | News Feed (veröffentlichte Beiträge) | News | H | N | 2 |
| F-011 | News-Detailansicht mit Markdown | News | H | N | 2 |
| F-012 | Kategoriefilter (Wichtig/Prüfung/etc.) | News | M | N | 2 |
| F-013 | Ungelesen/Gelesen-Status | News | M | N | 2 |
| F-014 | PDF-Anhang öffnen | News | H | M | 2 |
| F-015 | Push Notification bei Veröffentlichung | News | H | M | 2 |
| F-016 | Admin: Beitrag erstellen (Markdown) | News | H | M | 2 |
| F-017 | Admin: Beitrag anpinnen | News | M | N | 2 |
| F-018 | Admin: Leserate pro Beitrag | News | H | N | 2 |
| F-019 | Admin: Zeitgesteuerte Veröffentlichung | News | M | M | 2 |
| F-020 | Terminliste (chronologisch) | Termine | H | N | 3 |
| F-021 | Termin-Detailansicht | Termine | H | N | 3 |
| F-022 | Typ-Tags (Prüfung/Versammlung/etc.) | Termine | M | N | 3 |
| F-023 | An-/Abmeldung für Termin | Termine | H | N | 3 |
| F-024 | iCal-Export (Google/Outlook) | Termine | H | N | 3 |
| F-025 | Admin: Termin anlegen / bearbeiten | Termine | H | N | 3 |
| F-026 | Admin: Teilnehmerliste einsehen + CSV-Export | Termine | H | N | 3 |
| F-027 | E-Mail-Bestätigung nach Anmeldung | Termine | M | N | 3 |
| F-028 | Stellenliste öffentlich (ohne Login) | Lehrlingsbörse | H | N | 4 |
| F-029 | Stellen-Filter (Sparte, Ort, Lehrjahr) | Lehrlingsbörse | H | N | 4 |
| F-030 | Vergütungsanzeige nach Lehrjahr | Lehrlingsbörse | H | N | 4 |
| F-031 | Betrieb: Stelle anlegen | Lehrlingsbörse | H | M | 4 |
| F-032 | Betrieb: Stelle aktivieren/pausieren | Lehrlingsbörse | H | N | 4 |
| F-033 | Admin Dashboard Übersicht | Admin | H | M | 4 |
| F-034 | Admin: Innung-Setup (Logo, Sparten) | Admin | H | M | 0 |
| F-035 | Multi-Tenancy RLS | Backend | H | H | 0 |
| F-036 | Row Level Security alle Tabellen | Backend | H | M | 0 |
| F-037 | Push Token Registrierung | Backend | H | M | 2 |
| F-038 | Onboarding-Wizard (neue Innung) | Onboarding | H | M | 5 |
| F-039 | First-Use Tutorial (Mobile) | Onboarding | M | M | 5 |
| F-040 | App Store Submission (iOS + Android) | Launch | H | M | 6 |
---
## Should Have (Phase 2, Q2 2026)
| ID | Feature | Modul | Impact | Effort |
|---|---|---|---|---|
| F-041 | Push Reminder 24h vor Termin | Termine | H | M |
| F-042 | Admin: Monatsbericht als PDF | Analytics | M | H |
| F-043 | Erweiterte Analytics (DAU/WAU/MAU Charts) | Analytics | M | M |
| F-044 | Leeransicht für leere Listen | UX | M | N |
| F-045 | Offline-Modus (Cached Data) | UX | M | H |
| F-046 | Dokumentenarchiv (Upload/Download) | Dokumente | H | H |
| F-047 | Videokonferenz-Link in Terminen | Termine | M | N |
| F-048 | Mitglied: eigenes Profil bearbeiten | Mitglieder | M | M |
| F-049 | Admin: Mitteilung an Sparte gezielt | News | M | M |
| F-050 | Admin: Vorlage für häufige Beiträge | News | M | M |
| F-051 | Benachrichtigungs-Einstellungen (Nutzer) | Notifications | M | M |
| F-052 | Karten-Ansicht Mitglieder (Google Maps) | Mitglieder | N | H |
| F-053 | Bewerbungs-Kontaktformular (in App) | Lehrlingsbörse | M | M |
| F-054 | Admin: Stellen moderieren / ausblenden | Lehrlingsbörse | M | N |
---
## Could Have (Phase 3, Q3Q4 2026)
| ID | Feature | Modul | Impact | Effort |
|---|---|---|---|---|
| F-055 | TikTok-Style Video-Feed | Azubi-Modul | H | H |
| F-056 | Video-Upload für Betriebe | Azubi-Modul | H | H |
| F-057 | Bewerber-Profil (ohne CV) | Azubi-Modul | H | M |
| F-058 | 1-Click-Apply | Azubi-Modul | H | M |
| F-059 | In-App Chat (Betrieb ↔ Bewerber) | Azubi-Modul | H | H |
| F-060 | Vergütungs-Rechner | Azubi-Modul | M | M |
| F-061 | Digitales Berichtsheft | Azubi-Modul | M | H |
| F-062 | Prüfungsvorbereitung Quiz | Azubi-Modul | M | H |
| F-063 | White-Label (Subdomain, Logo) | Platform | H | H |
| F-064 | HWK-Dashboard (alle Innungen im Bezirk) | Platform | H | H |
| F-065 | API für externe Systeme (OpenAPI) | Platform | M | H |
| F-066 | Webhook-Integration | Platform | M | H |
| F-067 | Chat / Direktnachrichten (allgemein) | Kommunikation | M | H |
| F-068 | Prüfungsverwaltung (Gesellenprüfungen) | Prüfungen | H | H |
| F-069 | Obermeister-Genehmigung für Beiträge | Governance | N | M |
| F-070 | Mitgliederbeiträge / Buchhaltung | Finanzen | M | H |
| F-071 | Öffentliches Unternehmensverzeichnis | Marketing | N | H |
| F-072 | Bewertungssystem für Betriebe | Community | N | H |
---
## Won't Have (MVP — bewusste Nein-Entscheidungen)
| Feature | Begründung |
|---|---|
| Mehrsprachigkeit | Zielgruppe 100% deutsch, 2027 frühestens |
| SEPA-Lastschrift | Buchhaltungsintegration zu komplex |
| Lernmanagementsystem (LMS) | Zu komplex, eigenes Produkt |
| Öffentliche API ab Tag 1 | Erst wenn Produkt stabil |
| App für HWK (übergeordnet) | Erst nach HWK-Partnerschaft |
| Gamification (Punkte, Badges) | Nicht Kernbedürfnis der Zielgruppe |
| Social Feed (Mitglieder posten) | Moderation zu aufwendig |
| Marktplatz / E-Commerce | Separate Business Unit 2027 |
---
## Technische Schulden & Non-Feature Backlog
| ID | Aufgabe | Priorität |
|---|---|---|
| T-001 | End-to-End Tests (Playwright) für Admin-App | Hoch |
| T-002 | Unit Tests für Supabase Edge Functions | Hoch |
| T-003 | React Native E2E Tests (Maestro) | Mittel |
| T-004 | Error Monitoring (Sentry) integrieren | Hoch |
| T-005 | Performance Monitoring (Supabase Insights) | Mittel |
| T-006 | Dependency Updates automatisieren (Renovate) | Mittel |
| T-007 | API Rate Limiting (Edge Function) | Hoch |
| T-008 | Spam-Schutz Lehrstellenanzeigen | Mittel |
| T-009 | Datenbankindizes optimieren (EXPLAIN ANALYZE) | Mittel |
| T-010 | Storybook für UI-Komponenten | Niedrig |