Files
haushalt/module.md
Marek Lenczewski efe0cfe361 update
2026-04-11 16:02:02 +02:00

121 lines
4.4 KiB
Markdown

# Datei
Implementierungs-Schritte als Feature-Module - WIE es gebaut wird
# Setup module
## Backend
- Setup Symfony ./backend
## Frontend
- Setup Vue ./frontend, router, pinia
- App.vue - no content
## App
- Setup Kotlin ./app, navigation compose
- MainScreen.kt - no content
## Features
- Symfony, Vue and Kotlin minimal setup, no content
# Base module
## Backend
- nothing
## Frontend
- App.vue - layout: breadcrumb, main area
- router - / start page route
- Startpage.vue - start page, no content
## App
- MainScreen.kt - layout: breadcrumb, main area
- StartScreen.kt - start page, no content
## Features
- Standard layout for all pages: breadcrumb, main area
# Task module
## Backend
- Task - Task entity
- id, name, date (due), status
- TaskStatus - Enum for task status
- active, done, inactive
- TaskController - Task routes
- index, show, create, update, delete, toggle (active/done)
- TaskManager - Task CRUD
- create, update, delete, toggle
- TaskRepository - Default task queries
- currentTasks()
- TaskDto - Dto for create and update task
## Frontend
- Startpage.vue - quader button for tasks
- App.vue - register task routes in breadcrumb.
- router - tasks routes /tasks, /tasks/all, /tasks/create, /tasks/:id
- Task.vue
- Display current tasks (now to +2 weeks and without date) as list with name (done strikethrough), onclick toggle status, order by date (no-date then date asc, hide inactive)
- top right nav - list icon (all tasks), + icon (create), eye icon (toggle task visibility by active/done)
- TaskAll.vue
- Display all tasks as list with name (done strikethrough), pencil icon (edit), bin icon (delete), onclick toggle status, order by date (no-date then date asc then inactive asc)
- top right nav - + icon (create)
- TaskCreate.vue - Display form with name-text, date-date, status-select, save-button, abort-button
- TaskEdit.vue
- Display form with name-text, date-date, status-select, update-button, reset-button, abort-button, use current values
- api.js - API routes to symfony
## App
- StartScreen.kt - quader button for tasks
- MainScreen.kt - register task routes in breadcrumb.
- NavHost - tasks routes /tasks, /tasks/all, /tasks/create, /tasks/:id
- TaskScreen.kt
- Display current tasks (now to +2 weeks and without date) as list with name (done strikethrough), onclick toggle status, order by date (no-date then date asc, hide inactive)
- top right nav - list icon (all tasks), + icon (create), eye icon (toggle task visibility by active/done)
- TaskAllScreen.kt
- Display all tasks as list with name (done strikethrough), pencil icon (edit), bin icon (delete), onclick toggle status, order by date (no-date then date asc then inactive asc)
- top right nav - + icon (create)
- TaskCreateScreen.kt - Display form with name-text, date-date, status-select, save-button, abort-button
- TaskEditScreen.kt
- Display form with name-text, date-date, status-select, update-button, reset-button, abort-button, use current values
- TaskApi.kt - API calls to symfony
## Features
- Start page: task button
- Task page: current tasks ordered by date, filter done
- TaskAll page: all tasks ordered by date and status, delete task
- TaskCreate page: create task
- TaskEdit page: update task
# Category module
## Backend
- Category - Category entity
- id, name, color
- Task - Task entity
- category
-
- CategoryController - Category routes
- index, show, create, update, delete
- TaskSchemaManager - TaskSchema CRUD
- TaskSchemaRepository - TaskSchema queries
# TaskSchema module
- TaskSchema - TaskSchema entity
- id, name, status, category, start, end, date
- type(single, repeat, custom),
- repeat(daily, weekly, monthly, yearly)
- custom(days)
- TaskSchemaController - TaskSchema routes
- index, show, create, update, delete
- TaskSchemaManager - TaskSchema CRUD
- create, update, delete
- TaskSchemaRepository - TaskSchema queries
- TaskGenerator - Create tasks from schema
- generate
# Item module
- Item - Item entity
- ItemController - Item routes
- ItemManager - Item CRUD
- ItemRepository - Item queries
- UnitEnum - Unit for Item
# Meal module
- Meal - Meal entity
- MealController - Meal routes
- MealManager - Meal CRUD
- MealRepository - Meal queries
# Shopping module
- ShoppingList - ShoppingList entity
- ShoppingListController - ShoppingList routes
- ShoppingListManager - ShoppingList CRUD
- ShoppingListRepository - ShoppingList queries