Skip to content

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:

  1. Erstelle ein Feature Branch: feature/todo-name
  2. Markiere das TODO als in Arbeit: - [ ] → - [🚧]
  3. Nach Completion: - [🚧] → - [x]
  4. Verschiebe es zu "Completed" mit Datum
  5. 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

Built with VitePress