14-04-2026

This commit is contained in:
Kevin Adametz 2026-04-14 18:07:45 +02:00
parent f58c709945
commit 0f82fea88a
72 changed files with 7414 additions and 148 deletions

View file

@ -0,0 +1,100 @@
# mivita Payment Dashboard Laravel Modul
Aktivitäts- und Störungs-Dashboard für die Zahlungsanbieter (PAYONE, Stripe, PayPal, Mollie).
---
## Installation
### 1. Dateien kopieren
Kopiere die Ordner in dein bestehendes Laravel-Projekt:
```
database/migrations/ → in dein database/migrations/
app/Models/ → PaymentIncident.php + IncidentActivity.php nach app/Models/
app/Http/Controllers/ → PaymentDashboardController.php nach app/Http/Controllers/
resources/views/ → Ordner dashboard/ und layouts/dashboard.blade.php
routes/ → payment-dashboard.php
```
### 2. Migration ausführen
```bash
php artisan migrate
```
Erstellt drei Tabellen:
- `payment_incidents` Incidents / Störungen
- `incident_activities` Kommunikationsverlauf pro Incident
- `provider_uptime_logs` Uptime-Logs (für spätere Automatisierung)
### 3. Routes einbinden
In `routes/web.php` ergänzen:
```php
require base_path('routes/payment-dashboard.php');
```
### 4. Layout prüfen
Das Dashboard hat ein eigenes Layout (`layouts/dashboard.blade.php`).
Falls du ein bestehendes App-Layout verwenden willst, passe die
`@extends`-Direktive in den Views entsprechend an.
---
## URLs
| URL | Beschreibung |
|----------------------------------|-------------------------------------|
| `/payment-dashboard` | Entwickler-Ansicht (Kevin) |
| `/payment-dashboard/management` | GF-Ansicht (Alois) read-only |
| `/payment-dashboard/{id}` | Incident-Detail mit Timeline |
---
## Features
### Entwickler-Ansicht
- Alle offenen Incidents mit Schnell-Status-Update
- Neuen Incident anlegen (Modal)
- Kommunikations-Timeline (E-Mails, Tickets, Calls, Notizen)
- Vollständige Incident-Tabelle mit Pagination
- Anbieter-Übersicht (PAYONE, Stripe, PayPal, Mollie)
### GF-Ansicht (Alois)
- Klare Ampel-Karten: Offene Störungen, betroffener Umsatz, PAYONE-Probleme
- Anbieter-Status auf einen Blick
- Aktive Störungen mit Schwere und Dauer
- Letzte Vorfälle als Tabelle
### Incident-Detail
- Vollständiger Kommunikationsverlauf als Timeline
- Aktivitäten hinzufügen (E-Mail, Telefonat, Ticket, Notiz, Anbieter-Antwort)
- Status direkt ändern (löst automatisch Aktivitätseintrag aus)
---
## Nächste Ausbaustufen (optional)
- **Automatischer Uptime-Check**: Artisan Command, der PAYONE/Stripe-Endpunkte
periodisch prüft und bei Ausfall automatisch einen Incident anlegt:
```bash
php artisan payment:check-uptime
```
- **E-Mail-Benachrichtigung**: Bei neuem Critical-Incident automatisch Mail
an kevin@adametz-media.de
- **Rollen**: Middleware, die Alois nur auf `/management` weiterleitet
---
## Technik
- Laravel (Blade Templates, Eloquent, Form Requests)
- Kein zusätzliches JS-Framework reines Blade + CSS
- Dark Mode Design, responsive
- Alle Labels auf Deutsch