Pla original
Generat automàticament des de docs/PLA-ORIGINAL.md. No editis aquest fitxer directament.
Cada fase acaba amb una versió desplegable. Les decisions d’arquitectura estan a adr/ i resumides a AGENTS.md.
Origen: POC “Panel familiar” (menú setmanal 7 dies × 4 àpats, calendari, compra, tasques amb assignat, selector “qui sóc”). Pla d’arquitectura complet previ al codi: PLA-ORIGINAL.md (aquest ROADMAP.md és la font de veritat sobre l’estat real; el pla original és context).
| Fase | Nom | Estat |
|---|---|---|
| 0 | Fonaments | ✅ fet |
| 1 | Paritat amb la POC | 🔧 en curs |
| 2 | Valor de domini | 🔧 en curs |
| 3 | IA i MCP | ⏳ |
| 4 | Clients Android i escriptori | ⏳ |
| 5 | Maduresa | ⏳ |
frontend (Vite build → static/) + backend (Spring Boot 4, Java 25)ApplicationModules.verify() al CIpostgres i sqlite; tests amb els dos motorshousehold real: Household, Member, REST /api/v1/householdsdocker compose up → login → SPA servida des del JAR → crear una llar. ✅menu: MealPlan per setmana ISO real, MealSlot (esmorzar/dinar/berenar/sopar) amb text lliureshopping: llista per defecte, ítems amb done, “buida comprats”calendar: esdeveniments amb data (+hora opcional), agrupats per dia, addedBychores: tasques amb assignat (membre) i doneWhoAmI i HouseholdProvider ja muntats a App.tsx/api/v1/events per a actualització en temps real entre dispositius — connectat des de App.tsx via useHouseholdEventsGET /api/v1/households/{id}/export i POST /api/v1/households/import (mòdul export)Menu, Shopping, Calendar, Chores enrutades i amb claus i18n completesFullCalendar (@fullcalendar/react 6.1.x) només per a Calendar.tsx, amb vistes mes/setmana/llista i locales ca/esrecipes: receptes amb ingredients (nom, quantitat, unitat, categoria), racions, etiquetes — CRUD a /api/v1/households/{id}/recipesMealPlanned — MealSlot.recipeId opcional; menu publica MealPlanned (@ApplicationModuleListener a shopping.domain.MealPlanListener) que afegeix els ingredients a la llista per defecte sense duplicar-ne el nomcategory/unit/quantity a recipes, però ShoppingItem encara és només name+done; falta portar-ho a shoppingnotifications: web push per recordatoris de tasques i esdevenimentsrecipes al frontend (llistat/creació de receptes, selector de recepta al Menu) — pàgina Recipes.tsx i pestanya nova; Menu.tsx permet triar una recepta per àpat (a més del text lliure)assistant: tools @Tool sobre les APIs públiques dels mòduls (afegir a la compra, planificar àpat, llistar esdeveniments, assignar tasca…)ChatClient amb memòria JDBC; proveïdor per configuració (Ollama / OpenAI / Anthropic), cap actiu per defecte/mcp (Streamable HTTP) exposant tools, resources (menú, llista) i prompts; tokens per household amb àmbitsautomation: regles programades (proposta de menú el diumenge, recordatori de compra el divendres) reactives a esdeveniments| Risc | Mitigació |
|---|---|
| Spring AI 2.x canvia API | Tot Spring AI confinat al mòdul assistant |
| SQLite + Hibernate/Flyway | Tests amb els dos motors a cada PR; SQL portable a common |
| Sobre-enginyeria | Fase 1 estrictament paritat POC; Modulith sense DDD tàctic complet |
| Build lent (frontend dins Maven) | -Dskip.frontend per iterar backend; cache de node al CI |
Generat automàticament des de docs/PLA-ORIGINAL.md. No editis aquest fitxer directament.