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

4.4 KiB

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