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

10
doc/AppUpdate/files.md Normal file
View File

@@ -0,0 +1,10 @@
Backend:
- public/app/version.json
- public/app/haushalt.apk
Frontend:
- views/Startpage.vue → Update-Button
App:
- data/AppUpdateApi.kt
- data/AppUpdater.kt

3
doc/AppUpdate/spec.md Normal file
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

2
doc/Base.md Normal file
View File

@@ -0,0 +1,2 @@
- layout: Breadcrumb, main area
- start page: /, empty

10
doc/Base/files.md Normal file
View File

@@ -0,0 +1,10 @@
Frontend:
- App.vue
- components/Icon.vue
- views/Startpage.vue
- router/index.js → /
App:
- MainActivity.kt
- MainScreen.kt
- StartScreen.kt

2
doc/Base/spec.md Normal file
View File

@@ -0,0 +1,2 @@
- layout: Breadcrumb, main area
- start page: /, empty

5
doc/Setup.md Normal file
View File

@@ -0,0 +1,5 @@
- Symfony ./backend
- Vue ./frontend
- Kotlin ./app
- Kotlin copy vue changes
- Symfony, Vue and Kotlin can start

13
doc/Setup/files.md Normal file
View File

@@ -0,0 +1,13 @@
Prozess-Modul (keine Code-Dateien, Init der Apps).
Backend:
- backend/ (Symfony 7.4, PHP 8.3)
Frontend:
- frontend/ (Vue 3, Vite)
App:
- app/ (Kotlin, Jetpack Compose)
Infrastruktur:
- .ddev/ (DDEV-Umgebung)

5
doc/Setup/spec.md Normal file
View File

@@ -0,0 +1,5 @@
- Symfony ./backend
- Vue ./frontend
- Kotlin ./app
- Kotlin copy vue changes
- Symfony, Vue and Kotlin can start

12
doc/Task/Task.md Normal file
View File

@@ -0,0 +1,12 @@
- task: id, name, date?, status, schema?
- status: active, done, inactive, past (< today)
- breadcrumb: /tasks, /tasks/all, /tasks/:id
- period: today to +2 weeks
- done task: strikethrough, less opacity, default eye hide
- inactive task: less opacity, smaller
- start page: /tasks button
- tasks page: list tasks (name, toggle onclick), only period, group by date, no-date first, hide inactive, navigation (schemas, create, list, toggle, refresh)
- all tasks page: list all task (name, toggle onclick, edit, delete), sort by date desc, no-date-first, navigation (schemas, create, refresh)
- edit page: form (name, date, status), current values, buttons(save, abort) remove schema on update
- navigation: calender icon (schemas), + icon (create), list icon (all tasks), eye icon (toggle), arrow (refresh), pencil icon (edit), bin icon (delete), save icon (save), abort icon (abort)

0
doc/Task/features.md Normal file
View File

30
doc/Task/files.md Normal file
View File

@@ -0,0 +1,30 @@
Backend:
- Entity/Task.php
- Enum/TaskStatus.php
- Collection/TaskCollection.php
- DTO/TaskRequest.php
- Repository/TaskRepository.php
- Service/TaskManager.php
- Controller/Api/TaskController.php
Frontend:
- views/Task.vue
- views/TaskAll.vue
- views/TaskEdit.vue
- stores/tasks.js
- services/api.js → taskApi
- router/index.js → /tasks, /tasks/all, /tasks/:id
App:
- data/Task.kt
- data/TaskApi.kt
- ui/task/TaskScreen.kt
- ui/task/TaskAllScreen.kt
- ui/task/TaskEditScreen.kt
- ui/task/TaskListViewModel.kt
- ui/task/TaskAllViewModel.kt
- ui/task/TaskEditViewModel.kt
- ui/task/DatePickerField.kt
- ui/task/StatusDropdown.kt
- ui/task/DateFormat.kt

12
doc/Task/spec.md Normal file
View File

@@ -0,0 +1,12 @@
- task: id, name, date?, status, schema?
- status: active, done, inactive, past (< today)
- breadcrumb: /tasks, /tasks/all, /tasks/:id
- period: today to +2 weeks
- done task: strikethrough, less opacity, default eye hide
- inactive task: less opacity, smaller
- start page: /tasks button
- tasks page: list tasks (name, toggle onclick), only period, group by date, no-date first, hide inactive, navigation (schemas, create, list, toggle, refresh)
- all tasks page: list all task (name, toggle onclick, edit, delete), sort by date desc, no-date-first, navigation (schemas, create, refresh)
- edit page: form (name, date, status), current values, buttons(save, abort) remove schema on update
- navigation: calender icon (schemas), + icon (create), list icon (all tasks), eye icon (toggle), arrow (refresh), pencil icon (edit), bin icon (delete), save icon (save), abort icon (abort)

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

View File

@@ -1,49 +0,0 @@
# Setup module
- Symfony ./backend
- Vue ./frontend
- Kotlin ./app
- Kotlin copy vue changes
- Symfony, Vue and Kotlin can start
# Base module
- layout: Breadcrumb, main area
- start page: /, empty
# Task module
- task: id, name, date?, status, schema?
- status: active, done, inactive, past (< today)
- breadcrumb: /tasks, /tasks/all, /tasks/:id
- period: today to +2 weeks
- done task: strikethrough, less opacity, default eye hide
- inactive task: less opacity, smaller
- start page: /tasks button
- tasks page: list tasks (name, toggle onclick), only period, group by date, no-date first, hide inactive, navigation (schemas, create, list, toggle, refresh)
- all tasks page: list all task (name, toggle onclick, edit, delete), sort by date desc, no-date-first, navigation (schemas, create, refresh)
- edit page: form (name, date, status), current values, buttons(save, abort) remove schema on update
- navigation: calender icon (schemas), + icon (create), list icon (all tasks), eye icon (toggle), arrow (refresh), pencil icon (edit), bin icon (delete), save icon (save), abort icon (abort)
# AppUpdate module
- version: public/app/version.json
- apk: public/app/haushalt.apk
- start page: button check version, download apk, trigger install
# TaskSchema module
- 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