Files
fotospiel-app/docs/ops/diagrams.md
Codex Agent 10c99de1e2
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled
Migrate billing from Paddle to Lemon Squeezy
2026-02-03 10:59:54 +01:00

42 lines
1.3 KiB
Markdown
Raw 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.
---
title: Architekturdiagramme
sidebar_label: Diagramme
---
Diese Seite bündelt einfache Diagramme für zentrale PlattformFlows. Sie sind absichtlich highlevel gehalten und sollen neuen Operatoren einen schnellen Überblick geben.
## 1. MedienPipeline (Mermaid)
```mermaid
flowchart LR
Guest[Guest PWA] -->|Foto upload| API[Laravel API]
API -->|Validierung & DB| DB[(DB: events,\nevent_media_assets)]
API -->|Datei schreiben| HotStorage[(Hot Storage\n/var/www/storage)]
HotStorage --> QueueMedia[Queue: media-storage]
QueueMedia --> WorkerMedia[Worker: media-storage-worker]
WorkerMedia --> Archive[(Archive Storage\nz.B. S3/Wasabi)]
WorkerMedia --> Thumbs[Job: Thumbnails]
Thumbs --> HotStorage
DB --> PublicAPI[Public API]
PublicAPI --> Guest
```
## 2. Checkout & Billing (Mermaid)
```mermaid
flowchart LR
Tenant[Browser Tenant-Admin] -->|Paket wählen| App[Laravel App]
App -->|CheckoutSession anlegen| DB[(DB: checkout_sessions,\n tenant_packages)]
App -->|Redirect| LemonSqueezy[Lemon Squeezy Checkout]
LemonSqueezy -->|Zahlung erfolgreich| Webhook[Lemon Squeezy Webhook Endpoint]
Webhook -->|Event verarbeiten| BillingService[CheckoutWebhookService]
BillingService -->|TenantPackage aktualisieren| DB
DB --> App
App --> Tenant
```