mivita/dev/payment-dashboard/README.md
2026-04-14 18:07:45 +02:00

100 lines
2.9 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.

# 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