- Wired the checkout wizard for Google “comfort login”: added Socialite controller + dependency, new Google env
hooks in config/services.php/.env.example, and updated wizard steps/controllers to store session payloads, attach packages, and surface localized success/error states. - Retooled payment handling for both Stripe and PayPal, adding richer status management in CheckoutController/ PayPalController, fallback flows in the wizard’s PaymentStep.tsx, and fresh feature tests for intent creation, webhooks, and the wizard CTA. - Introduced a consent-aware Matomo analytics stack: new consent context, cookie-banner UI, useAnalytics/ useCtaExperiment hooks, and MatomoTracker component, then instrumented marketing pages (Home, Packages, Checkout) with localized copy and experiment tracking. - Polished package presentation across marketing UIs by centralizing formatting in PresentsPackages, surfacing localized description tables/placeholders, tuning badges/layouts, and syncing guest/marketing translations. - Expanded docs & reference material (docs/prp/*, TODOs, public gallery overview) and added a Playwright smoke test for the hero CTA while reconciling outstanding checklist items.
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
### Update 2025-09-25
|
||||
- Phase 3 credits scope: credit middleware on create/update, rate limiters for OAuth/tenant APIs, RevenueCat webhook + processing job live with idempotency tests.
|
||||
- Remaining: extend middleware to photo/other credit drains, admin ledger surfaces, document RevenueCat env vars in PRP.
|
||||
### Update 2025-10-21
|
||||
- Phase 3 credit scope delivered: tenant event creation now honours package allowances *and* credit balances (middleware + ledger logging), RevenueCat webhook signature checks ship with queue/backoff + env config, idempotency covered via unit tests.
|
||||
- Follow-up (separate): evaluate photo upload quota enforcement + SuperAdmin ledger visualisations once package analytics stabilise.
|
||||
# Backend-Erweiterung Implementation Roadmap (Aktualisiert: 2025-09-15 - Fortschritt)
|
||||
|
||||
## Implementierungsstand (Aktualisiert: 2025-09-15)
|
||||
Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
- **Phase 1 (Foundation)**: ✅ Vollständig abgeschlossen – Migrationen ausgeführt, Sanctum konfiguriert, OAuthController (PKCE-Flow, JWT), Middleware (TenantTokenGuard, TenantIsolation) implementiert und registriert.
|
||||
- **Phase 2 (Core API)**: ✅ 100% abgeschlossen – EventController (CRUD, Credit-Check, Search, Bulk), PhotoController (Upload, Moderation, Stats, Presigned Upload), **TaskController (CRUD, Event-Assignment, Bulk-Operations, Search)**, **SettingsController (Branding, Features, Custom Domain, Domain-Validation)**, Request/Response Models (EventStoreRequest, PhotoStoreRequest, **TaskStoreRequest, TaskUpdateRequest, SettingsStoreRequest**), Resources (**TaskResource, EventTypeResource**), File Upload Pipeline (local Storage, Thumbnails via ImageHelper), API-Routen erweitert, **Feature-Tests (21 Tests, 100% Coverage)**, **TenantModelTest (11 Unit-Tests)**.
|
||||
- **Phase 3 (Business Logic)**: 40% implementiert – event_credits_balance Feld vorhanden, Credit-Check in EventController, **Tenant::decrementCredits()/incrementCredits() Methoden**, aber CreditMiddleware, CreditController, Webhooks fehlen.
|
||||
- **Phase 4 (Admin & Monitoring)**: 20% implementiert – **TenantResource erweitert (credits, features, activeSubscription)**, aber fehlend: subscription_tier Actions, PurchaseHistoryResource, Widgets, Policies.
|
||||
- **Phase 3 (Business Logic)**: 60% implementiert – event_credits_balance Feld vorhanden, Endpunkt/Controller stehen, Credit-Middleware aktiv, RevenueCat Webhook inkl. Queue/Retries produktionsreif; Token-Rotation folgt.
|
||||
- **Phase 4 (Admin & Monitoring)**: 45% implementiert – **TenantResource erweitert (credits, features, activeSubscription)**, PurchaseHistory/OAuthClient-Management sowie Dashboard-Widgets fertig; verbleibend sind Advanced Actions (subscription_tier) und erweiterte Monitoring-Policies.
|
||||
|
||||
**Gesamtaufwand reduziert**: Von 2-3 Wochen auf **4-5 Tage**, da Phase 2 vollständig abgeschlossen und Tests implementiert.
|
||||
|
||||
@@ -65,31 +65,21 @@ Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
|
||||
### Implementierter Fortschritt
|
||||
- [x] Credit-Feld in Tenant-Model mit `event_credits_balance`
|
||||
- [x] **Tenant::decrementCredits()/incrementCredits() Methoden** implementiert
|
||||
- [x] Credit-Check in EventController (decrement bei Create)
|
||||
- [ ] CreditMiddleware für alle Event-Operationen
|
||||
- [x] **Tenant::decrementCredits()/incrementCredits() Methoden** inkl. Logging implementiert
|
||||
- [x] Credit-Middleware & Route-Alias greifen vor Event-Create; `Tenant::consumeEventAllowance()` nutzt zuerst Reseller-Pakete, sonst Credits
|
||||
- [x] RevenueCat-Webhook: Signatur-Validierung, Queue-Konfiguration, Retry (`tries/backoff`) + Produkt-Mapping
|
||||
|
||||
### Verbleibende Tasks
|
||||
1. **Credit-System erweitern (1 Tag)**
|
||||
- CreditMiddleware für alle Event-Create/Update
|
||||
- CreditController für Balance, Ledger, History
|
||||
- Tenant::decrementCredits() Methode mit Logging
|
||||
|
||||
2. **Webhook-Integration (1-2 Tage)**
|
||||
- RevenueCatController für Purchase-Webhooks
|
||||
- Signature-Validation, Balance-Update, Subscription-Sync
|
||||
- Queue-basierte Retry-Logic
|
||||
|
||||
3. **Security Implementation (1 Tag)**
|
||||
- Rate Limiting: 100/min tenant, 10/min oauth
|
||||
- Token-Rotation in OAuthController
|
||||
- IP-Binding für Refresh Tokens
|
||||
1. **Security Implementation (1 Tag)**
|
||||
- Rate Limiting: 100/min tenant, 10/min oauth *(aktiv)*
|
||||
- Token-Rotation in OAuthController *(KID-basierte Schlüssel & `oauth:rotate-keys`)*
|
||||
- IP-Binding für Refresh Tokens *(konfigurierbar, Subnetzrelax optional)*
|
||||
|
||||
### Milestones
|
||||
- [x] Credit-Check funktioniert (Event-Create scheitert bei 0)
|
||||
- [ ] Webhooks verarbeiten Purchases
|
||||
- [ ] Rate Limiting aktiv
|
||||
- [ ] Token-Rotation implementiert
|
||||
- [x] Webhooks verarbeiten Purchases
|
||||
- [x] Rate Limiting aktiv
|
||||
- [x] Token-Rotation implementiert
|
||||
|
||||
## Phase 4: Admin & Monitoring (In Arbeit, 4-5 Tage)
|
||||
### Ziele
|
||||
@@ -99,14 +89,14 @@ Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
### Implementierter Fortschritt
|
||||
- [x] **TenantResource erweitert**: credits, features, activeSubscription Attribute
|
||||
- [x] **TenantModelTest**: 11 Unit-Tests für Beziehungen (events, photos, purchases), Attribute, Methoden
|
||||
- [ ] PurchaseHistoryResource, OAuthClientResource, Widgets, Policies
|
||||
- [x] PurchaseHistoryResource, OAuthClientResource, Widgets, Policies
|
||||
|
||||
### Verbleibende Tasks
|
||||
1. **Filament Resources erweitern (2 Tage)**
|
||||
- TenantResource: subscription_tier, Actions (add_credits, suspend), RelationsManager
|
||||
- PurchaseHistoryResource: CRUD, Filter, Export, Refund
|
||||
- OAuthClientResource: Client-Management
|
||||
- TenantPolicy mit superadmin before()
|
||||
- TenantResource: subscription_tier, Actions (add_credits, suspend), RelationsManager *(Credits-Aktion fertig; subscription_tier-Actions noch offen)*
|
||||
- PurchaseHistoryResource: CRUD, Filter, Export, Refund *(CRUD & Export umgesetzt; Refund via UI noch offen)*
|
||||
- OAuthClientResource: Client-Management *(implementiert)*
|
||||
- TenantPolicy mit superadmin before() *(implementiert)*
|
||||
|
||||
2. **Dashboard Widgets (1 Tag)**
|
||||
- RevenueChart, TopTenantsByRevenue, CreditAlerts
|
||||
@@ -121,9 +111,9 @@ Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
|
||||
### Milestones
|
||||
- [x] TenantResource basis erweitert
|
||||
- [ ] PurchaseHistoryResource funktioniert
|
||||
- [ ] Widgets zeigen Stats
|
||||
- [ ] Policies schützen SuperAdmin
|
||||
- [x] PurchaseHistoryResource funktioniert
|
||||
- [x] Widgets zeigen Stats
|
||||
- [x] Policies schützen SuperAdmin
|
||||
- [ ] >80% Testabdeckung
|
||||
|
||||
## Gesamter Zeitplan
|
||||
@@ -133,7 +123,7 @@ Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
| **1** | Foundation | ✅ Abgeschlossen |
|
||||
| **1** | Core API | ✅ Abgeschlossen |
|
||||
| **2** | Business Logic | 40% â³ In Arbeit |
|
||||
| **2** | Admin & Monitoring | 20% ðŸâ€Â„ In Arbeit |
|
||||
| **2** | Admin & Monitoring | 45% ✅ In Arbeit |
|
||||
|
||||
**Gesamtdauer:** **4-5 Tage** - Phase 2 vollständig abgeschlossen, Tests implementiert
|
||||
**Kritische Pfade:** Phase 3 (Business Logic) kann sofort starten
|
||||
@@ -157,4 +147,4 @@ Basierend auf aktueller Code-Analyse und Implementierung:
|
||||
6. **Deployment**: Staging-Environment, Monitoring-Setup
|
||||
|
||||
**Gesamtkosten:** Ca. 60-100 Stunden (weit reduziert durch bestehende Basis).
|
||||
**Erwartete Ergebnisse:** Voll funktionsfähige Multi-Tenant API mit Events/Photos, Freemium-Modell bereit für SuperAdmin-Management.
|
||||
**Erwartete Ergebnisse:** Voll funktionsfähige Multi-Tenant API mit Events/Photos, Freemium-Modell bereit für SuperAdmin-Management.
|
||||
|
||||
Reference in New Issue
Block a user