update
This commit is contained in:
@@ -41,8 +41,7 @@ Controller → Service (Manager) → Repository → Entity
|
||||
- Manager-Services: Geschäftslogik (CRUD, Validierung, Toggle)
|
||||
- DTOs: typisierter Input (Request) und Output (Response)
|
||||
- Validierung: nur auf Request-DTOs (`#[Assert\...]`), nicht auf Entities
|
||||
- Exceptions: `ValidationException` (eigener Listener), `HttpException` (Symfony built-in)
|
||||
- Entities: nur Doctrine-Mapping + Getter/Setter
|
||||
- Entities: Doctrine-Mapping + Getter/Setter + berechnete Felder via Serializer-Groups
|
||||
|
||||
## Verzeichnisstruktur (Backend)
|
||||
|
||||
@@ -56,8 +55,7 @@ backend/src/
|
||||
Request/ — CreateSchemaRequest, UpdateSchemaRequest, UpdateTaskRequest,
|
||||
ToggleRequest, CreateCategoryRequest, UpdateCategoryRequest,
|
||||
SchemaValidationTrait
|
||||
Response/ — TaskResponse, CategoryResponse, WeekViewResponse,
|
||||
DayResponse, ToggleResponse
|
||||
Response/ — WeekViewResponse, DayResponse, ToggleResponse
|
||||
Entity/
|
||||
Category.php, Task.php, TaskSchema.php
|
||||
Enum/
|
||||
@@ -72,7 +70,6 @@ backend/src/
|
||||
TaskSynchronizer.php — Sync nach Schema-Update (löschen/erstellen/reset)
|
||||
DeadlineCalculator.php — Berechnet Fälligkeitsdaten für ein Schema
|
||||
TaskViewBuilder.php — Baut Wochenansicht + Alle-Aufgaben-View
|
||||
TaskSerializer.php — Task/Category → Response-DTOs
|
||||
```
|
||||
|
||||
## API-Routen
|
||||
@@ -148,7 +145,7 @@ frontend/src/
|
||||
- **Sprache Code**: Englisch (Klassen, Methoden, Variablen, CSS-Klassen)
|
||||
- **Sprache UI**: Deutsch (Labels, Fehlermeldungen, Platzhalter)
|
||||
- **Enum-Werte**: Deutsch in DB (`aktiv`, `erledigt`, `einzel` etc.), Englisch als PHP-Case-Namen (`Active`, `Completed`, `Single`)
|
||||
- **API-Serialisierung**: Symfony Serializer-Groups für Schema/Category Entities (`schema:read`, `schema:write`, `category:read`, `category:write`), TaskSerializer-Service für Tasks
|
||||
- **API-Serialisierung**: Symfony Serializer-Groups auf allen Entities (`schema:read`, `task:read`, `category:read`)
|
||||
- **Validierung**: Auf Request-DTOs, nicht auf Entities
|
||||
- **Error-Handling**: `HttpException` → Symfony built-in
|
||||
- **Frontend**: Vue 3 Composition API mit `<script setup>`, fetch-basierter API-Client
|
||||
|
||||
Reference in New Issue
Block a user