App web familiar de rutinas visuales para niños con TDAH: muestra cada día el material del cole y las rutinas de tarde, con gamificación por monedas y tienda de recompensas. Multi-niño y bilingüe ES/CA. Uso doméstico/homelab. Backend (Spring Boot 3.5 / Java 21 / Gradle): - Dominio por capas, PostgreSQL + Liquibase, datos semilla. - API REST con DTOs: /today, toggle con monedas y bonos de bloque/día, monedero, tienda/canje, ajustes y CRUD del panel de padres. - Seguridad ligera por PIN (BCrypt + sesion en memoria), sin Keycloak. - Tests JUnit: generacion del dia, monedas/bonos con reversion, canje, seguridad. Frontend (Angular 19, standalone + signals): - Perfiles, Home (Tablero y Foco), Tienda y panel de padres (5 pestañas). - Tipografia OpenDyslexic conmutable (accesibilidad), i18n ES/CA, TTS y sonido. - Tokens de diseño fieles al handoff (paleta, animaciones, monedas voladoras). Empaquetado: - Docker multi-stage + docker-compose (PostgreSQL + backend + Nginx). - Decisiones de arquitectura documentadas en docs/adr.
32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# ADR 0001 — Fijar Spring Boot 3.5.x (no Spring Boot 4)
|
|
|
|
- **Estado:** aceptada
|
|
- **Fecha:** 2026-06-21
|
|
- **Fase:** 1 (esqueleto)
|
|
|
|
## Contexto
|
|
|
|
Al generar el backend con Spring Initializr, la versión por defecto ofrecida es
|
|
**Spring Boot 4.1.0** (arrastra Spring Framework 7 y un layout de *starters*
|
|
modular nuevo: `spring-boot-starter-webmvc`, starters de test por módulo).
|
|
|
|
El contrato del proyecto (CLAUDE.md y prompt director) fija explícitamente
|
|
**Spring Boot 3.x / Java 21**.
|
|
|
|
## Decisión
|
|
|
|
Se fija el backend a **Spring Boot 3.5.15** (última 3.x disponible en Initializr),
|
|
con `spring-boot-starter-web`, `liquibase-core` y `spring-boot-starter-test`.
|
|
|
|
## Motivación
|
|
|
|
- Cumplir el stack contratado sin introducir un salto de versión mayor no aprobado.
|
|
- Boot 4 / Spring 7 es muy reciente; el ecosistema y los ejemplos del equipo
|
|
siguen sobre 3.x.
|
|
|
|
## Consecuencias
|
|
|
|
- Cuando se quiera adoptar Boot 4 deberá hacerse mediante un ADR propio que
|
|
contemple la migración de starters y `jakarta`.
|
|
- El wrapper de Gradle queda fijado por Initializr; no se requiere Gradle en host.
|