Files
haushalt/module.md
Marek Lenczewski 27b34eb90f Task module
2026-04-12 10:06:17 +02:00

3.9 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, past faded), pencil icon (edit), bin icon (delete), onclick toggle status, order by date (no-date then date 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, past faded), pencil icon (edit), bin icon (delete), onclick toggle status, order by date (no-date then date 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, past faded, 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