mirror of
https://github.com/complexcaresolutions/documentation.git
synced 2026-03-17 17:33:53 +00:00
119 lines
3.3 KiB
Markdown
119 lines
3.3 KiB
Markdown
# To-Do-Liste - Payload CMS Multi-Tenant Projekt
|
|
|
|
> **Server:** sv-payload (LXC 700) - 10.10.181.100
|
|
> **Frontend-Tasks:** Siehe `FRONTEND.md` (sv-frontend, LXC 704)
|
|
|
|
---
|
|
|
|
## Zusammenfassung: Offene Tasks (Payload-Server)
|
|
|
|
### Hohe Priorität
|
|
| Status | Task | Bereich |
|
|
|--------|------|--------|
|
|
| [ ] | SMTP-Credentials in `.env` konfigurieren | E-Mail |
|
|
|
|
### Mittlere Priorität
|
|
| Status | Task | Bereich |
|
|
|--------|------|--------|
|
|
| [ ] | Media-Backup zu S3/MinIO | Backup |
|
|
| [ ] | CDN-Integration (Cloudflare) | Caching |
|
|
| [x] | CI/CD Pipeline erweitern (Lint/Test/Build) | DevOps |
|
|
| [x] | Security Scanning (CodeQL, Dependency Audit) | DevOps |
|
|
| [x] | Staging-Deployment | DevOps |
|
|
| [x] | Memory-Problem lösen (Swap) | Infrastruktur |
|
|
| [ ] | PM2 Cluster Mode testen | Infrastruktur |
|
|
| [ ] | Payload/Next Releases auf Next.js 16 Support beobachten | Tech Debt |
|
|
|
|
### Niedrige Priorität
|
|
| Status | Task | Bereich |
|
|
|--------|------|--------|
|
|
| [ ] | Monitoring: Sentry, Prometheus, Grafana | Monitoring |
|
|
| [x] | AuditLogs Retention (90 Tage Cron) | Data Retention |
|
|
| [x] | Email-Log Cleanup Cron | Data Retention |
|
|
| [x] | Media-Orphan-Cleanup | Data Retention |
|
|
| [x] | Consent-Logs Archivierung | Data Retention |
|
|
| [ ] | Dashboard-Widget für Email-Status | Admin UX |
|
|
| [ ] | TypeScript Strict Mode | Tech Debt |
|
|
| [x] | E2E Tests für kritische Flows | Testing |
|
|
|
|
### Dokumentation
|
|
| Status | Task |
|
|
|--------|------|
|
|
| [x] | DEPLOYMENT.md erstellen |
|
|
|
|
---
|
|
|
|
## Legende
|
|
|
|
- [ ] Offen
|
|
- [x] Erledigt
|
|
- [~] In Bearbeitung
|
|
- [!] Blockiert
|
|
|
|
---
|
|
|
|
## Offene Aufgaben (Detail)
|
|
|
|
### Analytics Integration
|
|
- [ ] Umami-Server auf sv-analytics einrichten
|
|
- [ ] Website-IDs für alle 4 Tenants erstellen
|
|
- [ ] `src/config/analytics.ts` mit Website-IDs
|
|
- [ ] `UmamiScript.tsx` implementieren
|
|
- [ ] Umami Script in Root Layout einbinden (Multi-Tenant)
|
|
- [ ] `useAnalytics.ts` Hook für Custom Events
|
|
- [ ] `analytics.server.ts` für Server-Side Events
|
|
- [ ] Event-Tracking in Newsletter/CTA integrieren
|
|
|
|
### Google Ads Conversion (mit Consent)
|
|
- [ ] `GoogleConsentMode.tsx` implementieren
|
|
- [ ] Google Consent Mode v2 mit Orestbida Cookie-Banner
|
|
- [ ] `useGclid.ts` Hook für GCLID-Erfassung
|
|
- [ ] `google-ads.ts` Client-Side Conversion Tracking
|
|
- [ ] `google-ads.server.ts` Server-Side Conversion API
|
|
- [ ] Enhanced Conversions mit gehashten E-Mails
|
|
|
|
### Backup-System
|
|
- [ ] Media-Backup zu S3/MinIO
|
|
- [ ] Disaster Recovery Plan
|
|
|
|
### Monitoring & Logging
|
|
- [ ] Sentry Error Tracking
|
|
- [ ] Prometheus Metrics
|
|
- [ ] Grafana Dashboard
|
|
|
|
---
|
|
|
|
## Build & Infrastructure
|
|
|
|
- [x] Memory-Problem gelöst (4GB Swap via ZFS ZVOL)
|
|
- [ ] PM2 Cluster Mode testen
|
|
|
|
---
|
|
|
|
## Testing & CI/CD
|
|
|
|
- [x] CI/CD Pipeline (`.github/workflows/ci.yml`)
|
|
- [x] Staging-Deployment (`.github/workflows/deploy-staging.yml`)
|
|
- [x] E2E Tests (`tests/e2e/`)
|
|
|
|
---
|
|
|
|
## Data Retention
|
|
|
|
- [x] Automatische Datenbereinigung (`src/lib/retention/`)
|
|
- [x] Cron-Job für Email-Log Cleanup (90 Tage)
|
|
- [x] AuditLogs Retention Policy (90 Tage)
|
|
- [x] Consent-Logs Archivierung (3 Jahre, expiresAt-basiert)
|
|
- [x] Media-Orphan-Cleanup
|
|
|
|
---
|
|
|
|
## Hinweise
|
|
|
|
1. **Tenant-Isolation bei localhost:** API gibt 403 zurück wenn kein Tenant zur Domain passt (gewollt)
|
|
2. **GraphQL Playground deaktiviert:** Route entfernt
|
|
3. **PM2 Cluster Mode:** Aktuell 1 Instanz, für Skalierung `instances: "max"` setzen
|
|
|
|
---
|
|
|
|
*Letzte Aktualisierung: 29.12.2025*
|