TODO List
Offene Aufgaben für die Appiyon-Plattform, organisiert nach Priority und Layer.
Status: 2025-10-24
🔥 High Priority
Security Integration (Infrastructure Layer)
[ ] Admin Authentication implementieren
- [ ] AdminUserProvider erstellen
- [ ] security.yaml konfigurieren für Admin-Firewall
- [ ] Login-Form Template erstellen
- [ ] Login-Controller implementieren
- [ ] Logout-Handler implementieren
- [ ] Authentication Success/Failure Handler
- [ ] Session-Management testen
[ ] Admin Password Reset Flow
- [ ] Password-Reset-Request Controller
- [ ] Email mit Reset-Token senden
- [ ] Reset-Form Template
- [ ] Token-Validation
- [ ] Password-Update Handler
[ ] Admin Email Verification
- [ ] Verification-Token bei Registration
- [ ] Verification-Email senden
- [ ] Verification-Link Handler
- [ ] Email-Verified-Status prüfen
Testing (Alle Layer)
- [ ] Test-Suite für Admin-Modul
- [ ] Unit Tests für Value Objects (AdminEmail, AdminPassword)
- [ ] Unit Tests für Use Cases (CreateAdmin, AuthenticateAdmin, LogAdminAction)
- [ ] Integration Tests für Repositories
- [ ] Functional Tests für Console Commands
- [ ] Functional Tests für EasyAdmin Controllers
Documentation
- [ ] Entwickler-Guides vervollständigen
- [x] guide-entities.md
- [x] guide-usecases.md
- [x] guide-migrations.md
- [x] tools-commands.md
- [x] known-issues.md
- [x] todo.md (dieses Dokument)
- [ ] guide-events.md
- [ ] environment.md
- [ ] database.md
- [ ] installation.md
- [ ] tools-testing.md
⚠️ Medium Priority
Infrastructure Layer - Admin Erweiterungen
[ ] Admin Permissions/Roles System
- [ ] Role Entity (Super Admin, Admin, Editor, Viewer)
- [ ] Permission Entity
- [ ] Role-Permission Mapping
- [ ] Voter für Permission-Checks
- [ ] EasyAdmin CRUD für Roles/Permissions
[ ] Two-Factor Authentication
- [ ] 2FA Entity für Secrets
- [ ] QR-Code Generation
- [ ] TOTP Validation
- [ ] Backup Codes
- [ ] 2FA-Setup Flow
[ ] Remember Me Funktionalität
- [ ] Remember-Me-Token Handler
- [ ] Security Config für Remember Me
- [ ] Token-Cleanup Command
[ ] Weitere Admin Console Commands
- [ ] admin:list - Alle Admins auflisten
- [ ] admin:delete - Admin soft-delete
- [ ] admin:restore - Gelöschte Admins wiederherstellen
- [ ] admin:password-reset - Password zurücksetzen
Foundation Layer - Tenant Management
[ ] Tenant-Modul erstellen
- [ ] Tenant Entity
- [ ] TenantRepository
- [ ] CreateTenant Use Case
- [ ] UpdateTenant Use Case
- [ ] DeleteTenant Use Case
- [ ] Tenant Events
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
[ ] Multi-Tenancy Support
- [ ] Tenant Context Service
- [ ] Tenant Resolver (Subdomain/Header)
- [ ] Doctrine Filter für Tenant-Isolation
- [ ] Tenant Middleware
Foundation Layer - User Management
- [ ] User-Modul erstellen
- [ ] User Entity
- [ ] UserRepository
- [ ] CreateUser Use Case
- [ ] User Authentication
- [ ] User Profile Management
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
Core Layer - Master Data
[ ] Country/Language Module
- [ ] Country Entity
- [ ] Language Entity
- [ ] CountryRepository
- [ ] LanguageRepository
- [ ] Seed Command für Initial-Daten
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
[ ] Category/Tag System
- [ ] Category Entity (hierarchisch)
- [ ] Tag Entity
- [ ] CategoryRepository
- [ ] TagRepository
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
Domain Layer - App Management
- [ ] App-Modul erstellen
- [ ] App Entity
- [ ] AppRepository
- [ ] CreateApp Use Case
- [ ] UpdateApp Use Case
- [ ] ApproveApp Use Case
- [ ] RejectApp Use Case
- [ ] App Events
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
Domain Layer - Developer Management
- [ ] Developer-Modul erstellen
- [ ] Developer Entity
- [ ] DeveloperRepository
- [ ] CreateDeveloper Use Case
- [ ] VerifyDeveloper Use Case
- [ ] Developer Events
- [ ] Migration erstellen
- [ ] EasyAdmin CRUD
📋 Low Priority
Security Enhancements
- [ ] Rate Limiting für API/Frontend (nicht nur Admin)
- [ ] CORS-Konfiguration
- [ ] Security Headers (CSP, HSTS, X-Frame-Options)
- [ ] Input Sanitization global
- [ ] IP-Blocking System
- [ ] Brute-Force Protection für User-Login
Performance
- [ ] Redis/Memcached Integration
- [ ] Query Performance Optimization
- [ ] Database Indices Review
- [ ] Lazy Loading für Relations
- [ ] CDN-Integration
- [ ] Asset Optimization
Infrastructure
- [ ] CI/CD Pipeline (GitLab CI/GitHub Actions)
- [ ] Automated Tests
- [ ] Code Quality Checks (PHP-CS-Fixer, PHPStan)
- [ ] Security Scans
- [ ] Automated Deployment
- [ ] Monitoring Setup
- [ ] Error Tracking (Sentry)
- [ ] Metrics (Prometheus/Grafana)
- [ ] Log Aggregation (ELK Stack)
- [ ] Uptime Monitoring
- [ ] Backup-Strategie
- [ ] Automated Database Backups
- [ ] File Storage Backups
- [ ] Backup Restore Testing
- [ ] Staging Environment Setup
Code Quality
- [ ] PHPStan Level 9
- [ ] Psalm Level 1
- [ ] Code Coverage > 80%
- [ ] Architecture Tests (deptrac)
- [ ] Mutation Testing (Infection)
Documentation
- [ ] API-Dokumentation (Swagger/OpenAPI)
- [ ] Architecture Decision Records (ADR)
- [ ] Deployment Runbook
- [ ] Disaster Recovery Plan
- [ ] Security Guidelines
Developer Experience
- [ ] Code-Generatoren
- [ ] Entity Generator
- [ ] Use Case Generator
- [ ] Repository Generator
- [ ] CRUD Generator
- [ ] Docker Development Environment
- [ ] Makefile für häufige Tasks
- [ ] Git Hooks (Pre-Commit)
Frontend
- [ ] Admin Dashboard UI Verbesserungen
- [ ] Dark Mode Support
- [ ] Mobile-Responsive Admin Panel
- [ ] Vue.js/React Integration
Completed ✅
2025-10-24
- [x] Admin-Modul Infrastructure Layer
- [x] 5 Entities erstellt
- [x] 2 Value Objects erstellt
- [x] 3 Repositories erstellt
- [x] 3 Use Cases erstellt
- [x] 3 Events erstellt
- [x] 1 DTO erstellt
- [x] EasyAdmin Installation und Konfiguration
- [x] Dashboard Controller
- [x] Admin CRUD Controller
- [x] AdminAuditLog CRUD Controller
- [x] AdminLoginAttempt CRUD Controller
- [x] Admin Domain Restriction (appisym.go4family.net)
- [x] Console Command: admin:create
- [x] Database Migration für Admin-Modul
- [x] .htaccess für Apache Rewrites
- [x] Entwickler-Dokumentation Grundstruktur
- [x] changelog.md
- [x] index.md
- [x] troubleshooting-admin.md
Contributing
Wenn du an einem TODO arbeitest:
- Erstelle ein Feature Branch:
feature/todo-name - Markiere das TODO als in Arbeit:
- [ ] → - [🚧] - Nach Completion:
- [🚧] → - [x] - Verschiebe es zu "Completed" mit Datum
- Update changelog.md mit Details
Priority Legende
- 🔥 High Priority - Kritisch, blockiert andere Features
- ⚠️ Medium Priority - Wichtig, aber nicht blockierend
- 📋 Low Priority - Nice-to-have, Verbesserungen
Status Icons
- [ ] Offen
- [🚧] In Arbeit
- [x] Erledigt
- [⏸️] Pausiert
- [❌] Abgebrochen