Files
haushalt/backend/plan2.md
2026-04-11 10:27:21 +02:00

83 lines
2.4 KiB
Markdown

# Backend
## Entity
- Task - Aufgaben Tabele
- Category - Kategorie Tabele
- Schema - TaksSchema Tabele
## Enum
- TaskStatus - Aufgaben Status
- TaskSchemaStatus - Schema Status
- TaskSchemaType - Schema Typen
## Controller
- TaskController - Aufgaben Aktionen
- TaskSchemaController - Schema Aktionen
- CategoryController - Kategorie Aktioenen
## Services
- TaskManager -
- TaskSchemaManager -
- CategoryManager -
- TaskGenerator -
- TaskSynchronizer -
- DeadlineCalculator -
## Repositorys
- TaskRepository - Aufgaben Abfragen
- CategoryRepository - Kategorie Abfragem
- TaskSchemaRepository - Schema Abfragen
## Task
- Wird verwendet um Aufgaben anzuzeigen
- Entity
- name - Name der Aufgabe
- status - Status der Aufgabe (active, done)
- date - Deadline, null for no deadline
- schema - schemaId, null no schema
- category - categoryId, null no category
- Controller
- index() - Alle Tasks zurückgeben
- show(id) - Ein Task zurückgeben
- create() - Task erstellen
- update(id) - Task aktualisieren
- delete(id) - Task entfernen
- toggle(id) - Status switchen (active, done)
- Werden durch Schemas erstellt
## Category
- Kategorien die von Aufgaben und Schemas verwendet werden
- Entity
- name - Kategoriename
- color - Hex-Farbe
- Controller
- index() - Alle Kategorien zurückgeben
- show(id) - Eine Kategorie zurückgeben
- create() - Kategorie erstellen
- update(id) - Kategorie aktualisieren
- delete(id) - Kategorie entfernen
## Schema
- Template um Aufgaben zu erstellen
- Entity
- name - Name für erstellte Aufgaben
- status - Status für Schema (active, disabled)
- category - Kategorie für erstellte Aufgaben
- type
- single - Einmal erstellt, schema = null
- daily - Für jeden Tag erstellt, schema = id
- custom - Benutzerdefiniert erstellt, schema = id
- start - Startdatum für type=daily,custom
- end - Enddatum für type=daily, custom
- days - Tage für type=custom
- week - Array für Wochentage (1-7)
- month - Array für Monatstage (1-31)
- year - Array für Jahrestage (1-365/366)
- Controller
- index() - Alle Schema zurückgeben
- show(id) - Eine Schema zurückgeben
- create() - Schema erstellen
- update(id) - Schema aktualisieren
- delete(id) - Schema entfernen
- Anpasung -> Alle Tasks anpassen (keine Vergangenheit)