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

2.9 KiB
Raw Permalink Blame History

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

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:

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:

    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