This commit is contained in:
Marek Lenczewski
2026-04-18 07:42:23 +02:00
parent 0d028beda8
commit 04620ff3cb
18 changed files with 172 additions and 49 deletions

View File

@@ -0,0 +1,3 @@
- version: public/app/version.json
- apk: public/app/haushalt.apk
- start page: button check version, download apk, trigger install

View File

@@ -0,0 +1,17 @@
- task schema: id, name, status, taskStatus, type, date?, repeat?, start?, end?
- status: active, inactive
- type: single (show date), repeat (show repeat, start, end)
- type(single, !date): just create task
- type(single, date): create schema, schema creates task
- type(repeat, daily/weekly/2weekly/4weekly/monthly): create schema, schema creates tasks
- type(repeat, days): + icon (add input:date), add multiple dates, like single+date in bulk, create schema, schema creates tasks, bin icon (remove date)
- schema: creates tasks in period, schema update and delete affects only tasks in period (no-past), start(today if null), delete schema (if end < today)
- schema create: create tasks in period
- schema update: remove and create task in period (if task ref schema)
- schema delete: remove tasks in period (if task ref schema)
- scheduler: execute 3:00, create task (if date=today), remove schemas (if end < today)
- router - /schemas, /schemas/create, /schemas/:id
- list page: list all schemas (name, repeat label, edit, delete), navigation (create, refresh)
- create page: form (name, status, taskStatus, type, date, repeat, weekday/monthday, start, end), buttons(save, abort)
- edit page: like create but with current values

31
doc/TaskSchema/files.md Normal file
View File

@@ -0,0 +1,31 @@
Backend:
- Entity/TaskSchema.php
- Enum/TaskSchemaStatus.php
- Collection/TaskSchemaCollection.php
- DTO/TaskSchemaRequest.php
- Repository/TaskSchemaRepository.php
- Service/TaskSchemaManager.php
- Service/TaskGenerator.php
- Controller/Api/TaskSchemaController.php
- Message/GenerateTasksMessage.php
- MessageHandler/GenerateTasksMessageHandler.php
- Schedule.php
Frontend:
- views/SchemaAll.vue
- views/SchemaCreate.vue
- views/SchemaEdit.vue
- stores/schemas.js
- services/api.js → schemaApi
- router/index.js → /schemas, /schemas/create, /schemas/:id
App:
- data/TaskSchema.kt
- data/TaskSchemaApi.kt
- ui/schema/SchemaAllScreen.kt
- ui/schema/SchemaCreateScreen.kt
- ui/schema/SchemaEditScreen.kt
- ui/schema/SchemaAllViewModel.kt
- ui/schema/SchemaCreateViewModel.kt
- ui/schema/SchemaEditViewModel.kt
- ui/schema/SchemaComponents.kt

17
doc/TaskSchema/spec.md Normal file
View File

@@ -0,0 +1,17 @@
- task schema: id, name, status, taskStatus, type, date?, repeat?, start?, end?
- status: active, inactive
- type: single (show date), repeat (show repeat, start, end)
- type(single, !date): just create task
- type(single, date): create schema, schema creates task
- type(repeat, daily/weekly/2weekly/4weekly/monthly): create schema, schema creates tasks
- type(repeat, days): + icon (add input:date), add multiple dates, like single+date in bulk, create schema, schema creates tasks, bin icon (remove date)
- schema: creates tasks in period, schema update and delete affects only tasks in period (no-past), start(today if null), delete schema (if end < today)
- schema create: create tasks in period
- schema update: remove and create task in period (if task ref schema)
- schema delete: remove tasks in period (if task ref schema)
- scheduler: execute 3:00, create task (if date=today), remove schemas (if end < today)
- router - /schemas, /schemas/create, /schemas/:id
- list page: list all schemas (name, repeat label, edit, delete), navigation (create, refresh)
- create page: form (name, status, taskStatus, type, date, repeat, weekday/monthday, start, end), buttons(save, abort)
- edit page: like create but with current values