14-04-2026
This commit is contained in:
parent
f58c709945
commit
0f82fea88a
72 changed files with 7414 additions and 148 deletions
100
dev/payment-dashboard/README.md
Normal file
100
dev/payment-dashboard/README.md
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue