_meta
Coverage Matrix
Feature-für-Feature Umsetzungsstand gegenüber der Produkt-Spec
Stand: 2026-04-17. Quelle: Audit der Codebasis (apps/web, apps/mobile, apps/api) gegen FEATURE-LIST.md.
FEATURE-LIST.md ist ein Planungsdokument. Diese Matrix ist die Wahrheit darüber, was tatsächlich ausgeliefert ist. Dokumentiert werden nur shipped und partial.
Legende
shipped — Feature ist im Code vorhanden: Route(s), Komponenten, API-Hooks und i18n-Keys.
partial — Feature teilweise vorhanden, mit sichtbaren Lücken gegenüber der Spec.
not started — Keine Code-Evidenz.
unclear — Spuren vorhanden, aber Scope nicht eindeutig verifizierbar.
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 1.1 | Mehrsprachige Plattform | partial | ✓ | ✓ | packages/i18n/src/locales/de/* vorhanden, /en angelegt aber nicht vollständig. Sprachwahl in /me/account/language. |
| 1.2 | Custom Subdomain pro Organisation | shipped | ✓ | – | Subdomain-Routing in apps/web/src/routes/__root.tsx, Feld slug in /settings/church/organization. |
| 1.3 | Custom Permission Roles (RBAC) | shipped | ✓ | ✗ | /settings/church/roles, apps/api/src/routes/rbac.ts. |
| 1.4 | SSO (Google, Apple) | shipped | ✓ | ✓ | apps/mobile/app/screens/auth/login.tsx mit Apple/Google; Web: Better Auth OAuth. |
| 1.5 | 2FA | partial | ✓ | ✗ | /me/account/two-factor, apps/api/src/routes/two-factor.ts. Org-weite Erzwingung nicht verifiziert. |
| 1.6 | DSGVO / EU-Serverstandort | shipped | ✓ | – | /settings/church/data-protection, apps/api/src/routes/data-protection.ts, activity-log.ts. |
| 1.7 | Multi-Org & Org Switching | shipped | ✓ | ✓ | Mobile: settings.tsx Org-Switcher via useOrg(). Web: Subdomain-Kontext. |
| 1.8 | Multi-Campus / Multi-Location | shipped | ✓ | ✗ | /settings/locations, apps/api/src/routes/locations.ts, Filter in Services-Liste. |
| 1.9 | Movement / Netzwerk-Verwaltung | shipped | ✓ | ✗ | /network, /network/$networkId/{dashboard,members,brand,settings}. |
| 1.10 | Mobile App (iOS & Android) | shipped | – | ✓ | apps/mobile mit Expo, Deep Linking, Push Notifications. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 2.1 | Households | shipped | ✓ | ✗ | /households, apps/api/src/routes/households.ts. |
| 2.2 | People Profiles | shipped | ✓ | partial | /people/$personId/*; Mobile: Ansicht + eigene Bearbeitung, keine Timeline. |
| 2.3 | People Categories | shipped | ✓ | ✗ | /people/categories, apps/api/src/routes/person-categories.ts. |
| 2.4 | People Demographics | shipped | ✓ | ✗ | apps/api/src/routes/demographics.ts, Felder in Person-Detail. |
| 2.5 | People Status | shipped | ✓ | ✗ | /settings/church/people-statuses, apps/api/src/routes/people-statuses.ts. |
| 2.6 | Custom Fields | partial | ✓ | ✗ | apps/api/src/routes/custom-fields.ts vorhanden, UI-Umfang in Person-Detail nicht voll verifiziert. |
| 2.7 | People Notes | partial | ✓ | ✗ | apps/api/src/routes/person-notes.ts. UI-Integration im Personendetail vorhanden, Threads unbestätigt. |
| 2.8 | People Type | unclear | ? | ✗ | Kein dediziertes Type-Feld im Audit gefunden; Kategorie und Status übernehmen Teile. |
| 2.9 | Person Language | partial | ✓ | ✓ | User-Sprache via account.language vorhanden. Person-Sprache in Profilen: Feld vorhanden (Drizzle), UI teilweise. |
| 2.10 | Duplikate-Erkennung | shipped | ✓ | ✗ | /settings/church/duplicates, apps/api/src/routes/duplicate-detection.ts. |
| 2.11 | Import/Export (CSV) | partial | ✓ | ✗ | /settings/church/import, apps/api/src/routes/imports.ts + exports.ts. Export-Scheduling nicht verifiziert. |
| 2.12 | People API | shipped | – | – | apps/api/src/routes/people.ts mit OpenAPI-Schemas, Scalar-Doku getrennt. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 3.1 | Groups mit People-Verknüpfung | shipped | ✓ | ✗ | /groups, apps/api/src/routes/groups.ts, Member-CRUD. |
| 3.2 | Group Roles | partial | ✓ | ✗ | Leiter/Mitglied-Rollen im Audit belegt; frei konfigurierbare Rollen nicht verifiziert. |
| 3.3 | Group Notes | shipped | ✓ | ✗ | /groups/$groupId/notes. |
| 3.4 | Group Meeting Times | shipped | ✓ | ✗ | /groups/$groupId/meeting-times. |
| 3.5 | Group Status | partial | ✓ | ✗ | Status-Badges sichtbar, Offen/Geschlossen/Anfrage-Logik im Member Portal fehlt. |
| 3.6 | Group Custom Fields | unclear | ? | ✗ | Keine UI-Evidenz in der Gruppen-Detailseite; API-Route generisch. |
| 3.7 | Group Categories | shipped | ✓ | ✗ | apps/api/src/routes/group-categories.ts, Kategorie-Feld im Gruppen-Formular. |
| 3.8 | Import/Export (CSV) | not started | ✗ | ✗ | Kein Groups-spezifischer Importpfad gefunden. |
| 3.9 | Groups API | shipped | – | – | apps/api/src/routes/groups.ts. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 4.1 | Email-Versand | partial | ✗ | ✗ | apps/api/src/routes/messages.ts + communication-history.ts existieren; keine UI-Route für Massenversand gefunden. |
| 4.2 | SMS / Text Messaging | not started | ✗ | ✗ | Keine UI, keine SMS-Provider-Integration im Audit. |
| 4.3 | Push Notifications | partial | ✗ | ✓ | Mobile empfängt Push, Notification Preferences vorhanden. Keine Admin-UI zum Senden. |
| 4.4 | Segmentierte Empfänger | partial | ✓ | ✗ | savedReports.filterBuilder liefert Segmentierung; kein Versand-Connector. |
| 4.5 | Email-Templates | not started | ✗ | ✗ | Kein Template-Editor im Audit. |
| 4.6 | Automatisierte Sequenzen | partial | ✓ | ✗ | Workflows mit Email-/SMS-Aktionen (10.x), aber ohne Template-Editor. |
| 4.7 | Scheduling | not started | ✗ | ✗ | Keine Sende-Queue im Audit. |
| 4.8 | Kommunikations-Historie | partial | ? | ✗ | apps/api/src/routes/communication-history.ts vorhanden; UI unbestätigt. |
| 4.9 | Kanal-Präferenzanalyse | not started | ✗ | ✗ | Keine Präferenz-Analytik im Audit. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 5.1 | Profil selbst verwalten | shipped | ✓ | ✓ | /me/profile, Mobile EditProfileScreen. |
| 5.2 | Gemeinde-Verzeichnis | partial | ✓ | ✓ | apps/api/src/routes/directory.ts; Mobile People-Liste gibt Directory. Opt-in pro Feld unbestätigt. |
| 5.3 | Event-Übersicht und Registrierung | not started | ✗ | ✗ | Kein Events-Modul im Code. |
| 5.4 | Gruppen-Übersicht und Beitritt | partial | ✓ | ✗ | /groups zeigt Liste; öffentliche Sicht und Beitrittsanfrage unbestätigt. |
| 5.5 | Spendenhistorie | not started | ✗ | ✗ | Kein Giving-Modul im Code. |
| 5.6 | Online-Spenden | not started | ✗ | ✗ | Siehe 5.5. |
| 5.7 | Volunteer-Übersicht | shipped | ✓ | ✓ | Mobile HomeScreen mit nächstem Einsatz, /services?assignedToMe=true. Accept/Decline aktiv. |
| 5.8 | Portal-Zugang Web + Mobile | shipped | ✓ | ✓ | Beide Apps mit einheitlichem Login. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 6.1 | Volunteer Planning / Invite | shipped | ✓ | partial | /services/$serviceId/positions, Mobile ServiceDetailScreen mit Zuweisung an Positionen. Drag & Drop nur Web. |
| 6.2 | Volunteer Swap & Replace | partial | ✗ | ✗ | apps/api/src/routes/swap-requests.ts + locales/de/swaps.ts vorhanden. Keine vollständige UI im Audit. |
| 6.4 | Service Teams | shipped | ✓ | ✓ | /teams/$teamId/{members,positions}, Mobile TeamDetailScreen. |
| 6.6 | Automated Reminders | partial | ✓ | ✓ | /settings/reminders, apps/api/src/routes/reminder-schedules.ts. UI-Scope unklar. |
| 6.7 | Song Database | shipped | ✓ | ✓ | /songs, Mobile SongsListScreen mit Lyrics/Chords/Dateien/Medien. |
| 6.8 | Service Templates | shipped | ✓ | ✗ | /templates, apps/api/src/routes/service-templates.ts. |
| 6.9 | Service Export (PDF) | partial | ? | ✗ | apps/api/src/routes/service-pdf.tsx vorhanden; UI-Einstiegspunkt unbestätigt. |
| 6.10 | Sunday Planning Module | shipped | ✓ | partial | /services/$serviceId, Wochen-/Listenansicht. Mobile: nur Anzeige. |
| 6.11 | CCLI Integration | not started | ✗ | ✗ | Keine CCLI-spezifische Route. |
| 6.12 | SongSelect Integration | not started | ✗ | ✗ | Keine SongSelect-Integration. |
| 6.13 | ProPresenter Integration | not started | ✗ | ✗ | Keine ProPresenter-Hooks. |
| 6.14 | Volunteers API | shipped | – | – | apps/api/src/routes/volunteers.ts. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 7.1–7.19 | Gesamtes Modul | not started | ✗ | ✗ | Keine Check-in-Routen, keine Station-Komponenten. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 8.1–8.11 | Gesamtes Modul | not started | ✗ | ✗ | Keine Giving-Routen, keine Payment-Provider-Integration im Audit. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 9.1 | Formulare erstellen | shipped | ✓ | ✗ | /forms/$formId mit Builder, Submissions-Tab, Duplikat-Aktion. |
| 9.2 | iFrame-Einbettung | unclear | ? | ✗ | Public-Endpunkt für Formulare existiert unter Custom Subdomain; iFrame-Snippet-Generator nicht explizit gefunden. |
| 9.3 | Custom Inputs | shipped | ✓ | ✗ | Feldpalette im Builder (Text, Select, Checkbox, Radio, Email, File). |
| 9.4 | Datenhandling / Logik | partial | ✓ | ✗ | Workflows binden Form-Submissions; UI für Pro-Formular-Aktionen im Builder unbestätigt. |
| 9.5 | Conditional Logic | unclear | ? | ✗ | Keine eindeutige Conditional-Regel-UI im Builder-Audit. |
| 9.6 | Automatische People-Zuordnung | partial | ✓ | ✗ | Forms API liefert Submissions mit Person-Matching; Config-UI nicht tief verifiziert. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 10.1 | Workflow Builder | shipped | ✓ | ✗ | /workflows/$workflowId Canvas, Nodes, Edges. |
| 10.2 | Trigger Formular-Submission | shipped | ✓ | ✗ | workflows.triggerTypes.form_submission. |
| 10.3 | Trigger Status-Änderung | shipped | ✓ | ✗ | workflows.triggerTypes.status_change, group_change. |
| 10.4 | Trigger Event-basiert | partial | ✓ | ✗ | Trigger-Types im Workflow vorhanden; spezifische Event-Trigger für Giving/Kids fehlen (Module nicht gebaut). |
| 10.5 | Aktionen | shipped | ✓ | ✗ | Action-Types: send_email, send_sms, send_push, create_task, set_tag, change_status, assign_to_group, update_custom_field. |
| 10.6 | First-Time Guest Follow-up | shipped | ✓ | ✗ | Template workflows.templates.guestFollowUp. |
| 10.7 | Volunteer Onboarding Pipeline | not started | ✗ | ✗ | Kein explizites Volunteer-Template. |
| 10.8 | Care / Seelsorge Pipeline | not started | ✗ | ✗ | Kein Care-Template. |
| 10.9 | Aufgaben-Management | shipped | ✓ | ✗ | /tasks, Priority/Status/Assignment, Bulk Actions. |
| 10.10 | Workflow-Reporting | partial | ✓ | ✗ | /workflows/$workflowId/runs zeigt Execution History; Conversion-Metriken nicht verifiziert. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 11.1–11.6 | Gesamtes Modul | not started | ✗ | ✗ | Keine Events-Route, keine Ticket-/Kapazitäts-Logik im Audit. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 12.1 | Dashboard | partial | ✓ | ✓ | Mobile HomeScreen als Dashboard; Web Home zeigt Startseite, konfigurierbare Widgets nicht im Audit. |
| 12.2 | Giving Reports | not started | ✗ | ✗ | Giving fehlt. |
| 12.3 | People Reports | shipped | ✓ | ✗ | /reports/people mit Wachstum/Churn/Verteilung. |
| 12.4 | Volunteer Reports | shipped | ✓ | ✗ | /reports/volunteers. |
| 12.5 | Group Reports | not started | ✗ | ✗ | Kein Gruppen-Report im Audit. |
| 12.6 | Custom Reports / Saved Searches | shipped | ✓ | ✗ | /saved-reports mit Filter Builder, Spaltenauswahl, Sharing. |
| 12.7 | Export (CSV, PDF) | partial | ✓ | ✗ | CSV-Export für People, PDF-Export in Service-PDF-Route. |
| 12.8 | Scheduled Reports | not started | ✗ | ✗ | Keine Schedule-UI im Audit. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 13.1 | Daten-Import (CSV, JSON) | partial | ✓ | ✗ | /settings/church/import, apps/api/src/routes/imports.ts. JSON-Pfad unbestätigt. |
| 13.2 | Dedizierte Import-Mappings | partial | ✓ | ✗ | apps/api/src/routes/api-connections.ts listet Integrationen; spezifische Mappings pro CMS unbestätigt. |
| 13.3 | Import-Vorschau und Validierung | partial | ✓ | ✗ | Import-UI vorhanden; Trockenlauf-Modus nicht explizit gefunden. |
| 13.4 | Guided Setup Wizard | shipped | ✓ | partial | /onboarding/v1, v2, v3 und /onboarding-checklist im Backend. Mobile Onboarding ist Platzhalter. |
| 13.5 | Migrations-Assistent | partial | ✓ | ✗ | /settings/migration und apps/api/src/routes/migrations.ts. Betreuter Pfad nicht dokumentiert. |
| 13.6 | Demo-Daten / Sandbox-Modus | partial | ? | ✗ | apps/api/src/routes/demo.ts und locales/de/demo.ts vorhanden. |
| 13.7 | Onboarding-Checkliste | shipped | ✓ | ✗ | apps/api/src/routes/onboarding-checklist.ts. |
| 13.8 | Direkte API-Migration | partial | ✓ | ✗ | /settings/church/api-connections als Shell vorhanden; Quellsystem-OAuth-Flows unbestätigt. |
| ID | Name | Status | Web | Mobile | Evidenz |
|---|
| 14.1 | AI Duplikate-Erkennung | partial | ✓ | ✗ | /settings/church/duplicates und duplicate-detection.ts. Lernfähigkeit/Fuzzy-Scope unbestätigt. |
| 14.2 | AI Automatische Volunteer-Zuweisung | not started | ✗ | ✗ | Kein Auto-Fill-Endpoint für Services gefunden. |
shipped: 24 Features
partial: 29 Features
not started: ~78 Features (entfallen auf Kids Check-in, Giving, Events, grosse Teile Communication und mehrere Integrations)
unclear: 6 Features (werden separat geklärt)
Dokumentiert werden in dieser ersten Auslieferung ausschliesslich die shipped- und partial-Einträge. Alles andere bleibt in dieser Datei nachverfolgt, bis der zugehörige Code ausgeliefert wird.