Files
recordalexia/CLAUDE.md
Jaume Garriga Maestre 52e559a159 feat: app completa recordaLexia (fases 1-5)
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.
2026-06-21 10:48:57 +02:00

3.3 KiB

recordaLexia

App web familiar para niños con TDAH: muestra cada mañana, en una tablet en modo kiosko, qué material llevar al cole y qué rutinas hacer por la tarde, con gamificación por monedas y tienda de recompensas. Multi-niño y bilingüe ES/CA.

Stack

  • Frontend: Angular 19 (standalone components + signals), TypeScript estricto, i18n ES/CA.
  • Backend: Java 21, Spring Boot 3.x, Gradle 8, Spring Web + Data JPA + Security.
  • Datos: PostgreSQL con Liquibase.
  • Empaquetado: Docker (multi-stage) + docker-compose (postgres + backend + Nginx).
  • Contexto doméstico/homelab. Ejecución LOCAL. Sin nube ni infraestructura corporativa.

Estructura

Monorepo:

  • frontend/ — Angular 19.
  • backend/ — Spring Boot 3 + Gradle.
  • docs/ — specs de referencia (prompts de Design, backend y director). Son contrato.
  • artifacts/ — diseño de referencia exportado de Claude Design (HTML).
  • app-de-rutinas-visuales-para-tdah/ — handoff original de Claude Design (solo lectura).
  • docker-compose.yml en la raíz.

Comandos principales

  • Backend: ./gradlew bootRun (local), ./gradlew test, ./gradlew build.
  • Frontend: npm start (ng serve), npm test, npm run build.
  • Stack completo: docker-compose up --build.

Convenciones

  • Idioma de trabajo y de los comentarios de código: español de España. Comenta siempre la lógica de negocio.
  • Toda la UI es bilingüe ES/CA. Los textos visibles (materiales, actividades, rutinas, premios, eventos) se almacenan con labelEs y labelCa.
  • Iconografía = emojis (decisión del diseño). El campo icon es un string emoji. No introducir librerías de iconos en la v1.
  • Design tokens fijos (del handoff): tipografías Fredoka (títulos/labels) y Nunito (texto); paleta de acento #F2A65A, #5B8DEF, #A78BD0, #7FBF6B, #5BC0BE, #F4C95D, #EC8FA4; texto #2A3142; monedas pill #FFF6E0/#C7912B. Centralizar en un único fichero de tokens y no esparcir colores por el código.
  • Backend por capas (controller / service / repository / domain), dominio aislado de JPA donde sea razonable. Exponer DTOs, nunca entidades.
  • Frontend: componentes pequeños y reutilizables; estado con signals; HTTP tipado contra DTOs alineados con el backend (en especial GET /api/children/{id}/today).
  • Zona horaria fija Europe/Madrid para decidir qué es "hoy".
  • Tests: lógica de generación del día, marcado/monedas (incl. bonos) y canje.

Restricciones

  • NO usar Keycloak, Gravitee, Camunda, Kubernetes ni Jenkins en esta fase. La auth es ligera (kiosko sin fricción para el niño + PIN configurable para padres).
  • NO portar el "dock" inferior de demo del prototipo (botones A/B, idioma, reiniciar, vacío) a producción: esas funciones son preferencias reales del niño.
  • NO borrar histórico de tareas ni de canjes al pasar el día (se conserva).
  • NO hardcodear el PIN ni los parámetros de gamificación: son configurables.
  • NO incrustar el HTML del handoff; reconstruir los componentes en Angular.
  • Conservar el modo Foco (una tarea a la vez): es clave para TDAH.

Referencias

El detalle completo de UX, dominio y plan por fases está en docs/:

  • docs/prompt-claude-code-recordalexia-director.md (director, conduce el trabajo).
  • docs/prompt-claude-code-backend-rutinas-tdah.md (dominio y API).
  • docs/prompt-claude-design-rutinas-tdah.md (UX y pantallas).